1#
2#
3#
4#
5
6package require Tclx
7source index.tcl
8
9random seed
10
11set seq 0
12
13proc doputs {command} {
14    global seq
15
16    puts [format "%5d %s" $seq $command]
17    uplevel $command
18    incr seq
19}
20
21proc dostuff {} {
22    for {set i 0} {$i < 1000000} {incr i} {
23	set key [random 10000]
24	set what [random 5]
25	switch $what {
26	    0 {
27		set value [random 10000]
28		doputs "m set $key key $key value $value"
29	    }
30
31	    1 {
32		set value [random 10000]
33		doputs "m set $key key {} value $value"
34	    }
35
36	    2 {
37		doputs "m set $key key $key value {}"
38	    }
39
40	    3 {
41		doputs "m delete $key"
42	    }
43
44	    4 {
45		doputs "m set $key value {}"
46	    }
47	}
48    }
49}
50
51proc doit {{argv ""}} {
52    dostuff
53}
54
55if !$tcl_interactive {
56    doit $argv
57}
58