Git init
[pkgs/e/elektra.git] / scripts / benchmark-createtree
1 #!/bin/sh
2
3 # $Id$
4
5 ROOT="user/bench"
6 LEVELS=3
7 DIRS=5
8 KEYS=2
9
10 genLevel() {
11         local level=$1
12         local myRoot=$2
13         local pad
14         local counter=0
15         
16         while [ $counter -lt $level ]; do
17                 pad=`echo -n " $pad"`
18                 counter=`expr $counter + 1`
19         done
20
21 #       echo "Generating keys under $myRoot" >&2
22 #       echo "$pad<key type=\"dir\" basename=\"$level-$myRoot\">"
23         
24         # Generate local keys
25         local k=0
26         while [ $k -lt $KEYS ]; do
27                 type=`expr $RANDOM$RANDOM % 255`
28                 [ $type -lt 20 ] && type=20;
29                 echo "$pad<key type=\"$type\" basename=\"$k-${RANDOM}${RANDOM}\" value=\"$k ${RANDOM}${RANDOM}\"><comment>${RANDOM}${RANDOM}${RANDOM}${RANDOM}</comment></key>"
30                 keyCounter=`expr $keyCounter + 1`
31 #               kdb set -t $type -c "${RANDOM}${RANDOM}" \
32 #                       "$myRoot/${RANDOM}${RANDOM}" \
33 #                       "${RANDOM}${RANDOM}"
34
35                 k=`expr $k + 1`
36         done
37         
38         if [ $level -lt $LEVELS ]; then
39                 # Generate sublevels
40                 local d=0
41                 while [ $d -lt $DIRS ]; do
42                         echo "$pad<key type=\"directory\" basename=\"dir-$level-$d\">"
43                         keyCounter=`expr $keyCounter + 1`
44                         genLevel `expr $level + 1` "${RANDOM}${RANDOM}"
45                         echo "$pad</key>"
46                         d=`expr $d + 1`
47                 done
48         fi
49         
50 }
51
52 keyCounter=0
53
54 echo "<keyset parent=\"$ROOT\">"
55 genLevel 1 ${RANDOM}
56 echo "<!-- $keyCounter keys generated -->"
57 echo "</keyset>"