[Jeffrey Hobbs]: These are the normalized benchmarks, using "8.4a5" as the base. These numbers correspond to the ones in [Tcl Benchmarks]. After each interp run, the elapsed time (%H:%M:%S) taken for that interp is shown, to give an overview of the whole run. Note that not all tests run on all interpreters, and the code isn't always equal between versions (the functionality of the code should be). ---- Note: Lower numbers mean faster performance. ---- TCL_INTERP: 1:8.4a5 2:8.3.4 3:8.2.3 4:8.0.5 5:7.6p2 STARTED 2002-06-12 09:43:57 (runbench.tcl v1.14) Benchmark 1:8.4a5 /home/jeffh/install/linux-ix86/bin/tclsh8.4 bbccdeeefghkllmmmmpprrssstuvw 00:06:33 elapsed Benchmark 2:8.3.4 /home/jeffh/install/linux-ix86/bin/tclsh8.3 bbccdeeefghkllmmmmpprrssstuvw 00:08:24 elapsed Benchmark 3:8.2.3 /home/jeffh/install/linux-ix86/bin/tclsh8.2 bbccdeeefghkllmmmmpprrssstuvw 00:08:35 elapsed Benchmark 4:8.0.5 /home/jeffh/install/linux-ix86/bin/tclsh8.0 bbccdeeefghkllmmmmpprrssstuvw 00:07:08 elapsed Benchmark 5:7.6p2 /home/jeffh/install/linux-ix86/bin/tclsh7.6 bbccdeeefghkllmmmmpprrssstuvw 00:20:31 elapsed 000 VERSIONS: 1:8.4a5 2:8.3.4 3:8.2.3 4:8.0.5 5:7.6p2 001 BASE64 decode 10 1.00 1.08 1.01 1.01 -=- 002 BASE64 decode 100 1.00 1.05 1.02 1.03 -=- 003 BASE64 decode 1000 1.00 1.07 1.04 1.05 -=- 004 BASE64 decode 10000 1.00 1.05 1.04 1.06 -=- 005 BASE64 decode2 10 1.00 1.06 1.00 1.02 -=- 006 BASE64 decode2 100 1.00 1.04 1.01 1.03 -=- 007 BASE64 decode2 1000 1.00 1.05 1.03 1.06 -=- 008 BASE64 decode2 10000 1.00 1.04 1.04 1.06 -=- 009 BASE64 encode 10 1.00 1.27 1.19 1.36 -=- 010 BASE64 encode 100 1.00 1.30 1.28 1.49 -=- 011 BASE64 encode 1000 1.00 1.31 1.29 1.51 -=- 012 BASE64 encode 10000 1.00 1.33 1.31 1.54 -=- 013 BASE64 encode2 10 1.00 1.33 1.24 1.42 -=- 014 BASE64 encode2 100 1.00 1.40 1.34 1.62 -=- 015 BASE64 encode2 1000 1.00 1.41 1.35 1.64 -=- 016 BASE64 encode2 10000 1.00 1.40 1.36 1.64 -=- 017 BIN bitset-v1 1000 chars 1.00 1.00 0.96 0.87 -=- 018 BIN bitset-v1 5000 chars 1.00 1.00 1.00 0.90 -=- 019 BIN bitset-v1 10000 chars 1.00 1.00 1.00 0.90 -=- 020 BIN bitset-v2 1000 chars 1.00 1.40 1.24 1.11 -=- 021 BIN bitset-v2 5000 chars 1.00 1.36 1.22 1.08 -=- 022 BIN bitset-v2 10000 chars 1.00 1.42 1.28 1.13 -=- 023 BIN bitset-v3 1000 chars 1.00 1.85 1.78 1.57 -=- 024 BIN bitset-v3 5000 chars 1.00 2.02 1.94 1.71 -=- 025 BIN bitset-v3 10000 chars 1.00 2.03 1.96 1.73 -=- 026 BIN c scan, 1000b 1.00 0.68 0.65 0.52 -=- 027 BIN c scan, 5000b 1.00 0.95 0.93 0.73 -=- 028 BIN c scan, 10000b 1.00 1.02 1.03 0.84 -=- 029 CATCH error, complex 1.00 0.94 0.88 0.79 0.91 030 CATCH no catch used 1.00 0.88 0.75 0.75 1.88 031 CATCH return error 1.00 0.94 0.91 0.78 0.97 032 CATCH return except 1.00 0.88 0.75 0.75 2.38 033 CATCH return ok 1.00 0.88 0.75 0.75 2.62 034 DATA access in a list 1.00 1.75 1.54 1.48 34.69 035 DATA access in an array 1.00 1.36 1.37 1.21 4.74 036 DATA create in a list 1.00 2.20 2.19 2.10 6.64 037 DATA create in an array 1.00 0.99 0.96 1.20 3.07 038 ENC iso2022-jp, gets 1.00 0.89 0.92 -=- -=- 039 ENC iso2022-jp, read 1.00 0.87 0.89 -=- -=- 040 ENC iso2022-jp, read & size 1.00 0.89 0.92 -=- -=- 041 ENC iso8859-2, gets 1.00 0.61 0.57 -=- -=- 042 ENC iso8859-2, read 1.00 0.54 0.52 -=- -=- 043 ENC iso8859-2, read & size 1.00 0.55 0.53 -=- -=- 044 EVAL cmd and mixed lists 1.00 0.83 2.27 1.59 0.33 045 EVAL cmd eval as list 1.00 1.11 3.22 2.89 1.22 046 EVAL cmd eval as string 1.00 0.89 1.11 0.96 0.44 047 EVAL cmd eval in list obj var 1.00 1.10 3.00 2.70 1.50 048 EVAL list cmd and mixed lists 1.00 0.83 2.29 1.60 0.33 049 EVAL list cmd and pure lists 1.00 1.01 16.74 11.74 2.45 050 EXPR $a != $b int 1.00 1.00 0.83 0.83 6.83 051 EXPR $a != $b str (!= len) 1.00 1.07 0.93 0.87 4.00 052 EXPR $a != $b str (== len) 1.00 0.89 0.78 0.72 3.22 053 EXPR $a == $b int 1.00 1.00 0.83 0.83 6.67 054 EXPR $a == $b str (!= len) 1.00 1.07 0.93 0.87 3.87 055 EXPR $a == $b str (== len) 1.00 0.89 0.83 0.72 3.33 056 EXPR braced 1.00 0.86 0.86 0.71 5.57 057 EXPR fifty operands 1.00 0.91 0.91 0.78 3.65 058 EXPR incr with expr 1.00 0.75 0.75 0.75 3.75 059 EXPR incr with incr 1.00 1.00 0.80 0.60 2.20 060 EXPR inline 1.00 0.93 0.93 0.79 2.57 061 EXPR one operand 1.00 1.00 1.00 1.00 4.33 062 EXPR ten operands 1.00 0.86 0.86 0.71 3.86 063 EXPR unbraced 1.00 0.90 0.91 0.74 0.76 064 FCOPY binary: 160K 1.00 0.98 0.98 -=- -=- 065 FCOPY encoding: 160K 1.00 0.26 0.26 -=- -=- 066 FCOPY std: 160K 1.00 0.97 1.01 1.02 1.02 067 GCCont_cpb::cGCC 50 1.00 1.67 1.72 1.44 -=- 068 GCCont_cpb::cGCC 500 1.00 2.29 2.53 2.03 -=- 069 GCCont_cpb::cGCC 5000 1.00 2.49 2.74 2.21 -=- 070 GCCont_cpbre1::cGCC 50 1.00 0.99 -=- -=- -=- 071 GCCont_cpbre1::cGCC 500 1.00 1.01 -=- -=- -=- 072 GCCont_cpbre1::cGCC 5000 1.00 1.01 -=- -=- -=- 073 GCCont_cpbre2::cGCC 50 1.00 1.01 -=- -=- -=- 074 GCCont_cpbre2::cGCC 500 1.00 1.01 -=- -=- -=- 075 GCCont_cpbre2::cGCC 5000 1.00 1.01 -=- -=- -=- 076 GCCont_cpbrs2::cGCC 50 1.00 3.16 3.15 -=- -=- 077 GCCont_cpbrs2::cGCC 500 1.00 6.65 6.67 -=- -=- 078 GCCont_cpbrs2::cGCC 5000 1.00 7.93 7.96 -=- -=- 079 GCCont_cpbrs::cGCC1 50 1.00 2.76 2.72 1.94 -=- 080 GCCont_cpbrs::cGCC1 500 1.00 5.85 5.84 1.41 -=- 081 GCCont_cpbrs::cGCC1 5000 1.00 7.54 7.57 1.12 -=- 082 GCCont_cpbrs::cGCC2 50 1.00 3.25 3.19 1.98 -=- 083 GCCont_cpbrs::cGCC2 500 1.00 6.81 6.79 1.44 -=- 084 GCCont_cpbrs::cGCC2 5000 1.00 8.86 8.89 1.07 -=- 085 GCCont_cpbrs_trap::cGCC 50 1.00 1.06 1.05 0.64 -=- 086 GCCont_cpbrs_trap::cGCC 500 1.00 1.05 1.05 0.51 -=- 087 GCCont_cpbrs_trap::cGCC 5000 1.00 1.05 1.05 0.49 -=- 088 GCCont_expr::cGCC 50 1.00 1.05 1.05 -=- -=- 089 GCCont_expr::cGCC 500 1.00 1.04 1.04 -=- -=- 090 GCCont_expr::cGCC 5000 1.00 1.00 1.01 -=- -=- 091 GCCont_i::cGCC1 50 1.00 0.96 1.00 0.89 -=- 092 GCCont_i::cGCC1 500 1.00 0.92 1.01 0.90 -=- 093 GCCont_i::cGCC1 5000 1.00 0.93 0.99 0.90 -=- 094 GCCont_i::cGCC2 50 1.00 1.23 1.34 1.09 -=- 095 GCCont_i::cGCC2 500 1.00 1.28 1.51 1.24 -=- 096 GCCont_i::cGCC2 5000 1.00 1.29 1.53 1.27 -=- 097 GCCont_i::cGCC3 50 1.00 1.27 1.40 1.12 -=- 098 GCCont_i::cGCC3 500 1.00 1.35 1.61 1.30 -=- 099 GCCont_i::cGCC3 5000 1.00 1.35 1.65 1.33 -=- 100 GCCont_r1::cGCC 50 1.00 0.94 1.01 0.80 -=- 101 GCCont_r1::cGCC 500 1.00 0.96 1.03 0.81 -=- 102 GCCont_r1::cGCC 5000 1.00 0.95 1.02 0.81 -=- 103 GCCont_r2::cGCC 50 1.00 0.88 1.04 0.81 -=- 104 GCCont_r2::cGCC 500 1.00 0.86 1.04 0.82 -=- 105 GCCont_r2::cGCC 5000 1.00 0.88 1.05 0.83 -=- 106 GCCont_r3::cGCC 50 1.00 0.87 1.01 0.79 -=- 107 GCCont_r3::cGCC 500 1.00 0.85 1.02 0.79 -=- 108 GCCont_r3::cGCC 5000 1.00 0.88 1.03 0.81 -=- 109 GCCont_rsf1::cGCC 50 1.00 1.10 1.32 -=- -=- 110 GCCont_rsf1::cGCC 500 1.00 1.17 1.61 -=- -=- 111 GCCont_rsf1::cGCC 5000 1.00 1.19 1.68 -=- -=- 112 GCCont_rsf2::cGCC1 50 1.00 1.19 1.32 -=- -=- 113 GCCont_rsf2::cGCC1 500 1.00 1.39 1.71 -=- -=- 114 GCCont_rsf2::cGCC1 5000 1.00 1.44 1.83 -=- -=- 115 GCCont_rsf2::cGCC2 50 1.00 1.13 1.27 -=- -=- 116 GCCont_rsf2::cGCC2 500 1.00 1.32 1.66 -=- -=- 117 GCCont_rsf2::cGCC2 5000 1.00 1.37 1.77 -=- -=- 118 GCCont_rsf3::cGCC 50 1.00 1.09 1.22 -=- -=- 119 GCCont_rsf3::cGCC 500 1.00 1.32 1.66 -=- -=- 120 GCCont_rsf3::cGCC 5000 1.00 1.37 1.75 -=- -=- 121 GCCont_turing::cGCC 50 1.00 1.75 1.73 -=- -=- 122 GCCont_turing::cGCC 500 1.00 2.93 2.92 -=- -=- 123 GCCont_turing::cGCC 5000 1.00 3.46 3.43 -=- -=- 124 HEAPSORT size 10 1.00 0.96 0.90 8.00 5.49 125 HEAPSORT size 50 1.00 0.94 0.90 6.70 6.12 126 HEAPSORT size 100 1.00 0.95 0.90 6.22 6.25 127 IF 1/0 check 1.00 1.17 1.00 1.00 4.33 128 IF else true al 1.00 0.88 0.82 0.71 2.59 129 IF else true numeric 1.00 1.00 0.88 0.88 4.75 130 IF elseif true al 1.00 1.07 1.00 0.86 3.07 131 IF elseif true numeric 1.00 1.00 1.00 0.88 4.88 132 IF if false al/al 1.00 0.83 0.75 0.67 2.67 133 IF if false al/num 1.00 0.82 0.73 0.64 4.82 134 IF if false num/num 1.00 1.00 0.86 0.86 4.71 135 IF if true al 1.00 1.67 1.50 1.33 5.67 136 IF if true al/al 1.00 1.43 1.43 1.14 4.57 137 IF if true num/num 1.00 1.00 0.86 0.86 4.57 138 IF if true numeric 1.00 1.00 1.00 0.83 5.17 139 IF multi 1st true 1.00 1.00 0.86 0.86 7.14 140 IF multi 2nd true 1.00 1.00 0.88 0.88 6.62 141 IF multi 9th true 1.00 1.00 0.94 0.88 5.62 142 IF multi default true 1.00 1.00 0.94 0.88 5.75 143 KLIST shuffle0 llength 1 1.00 1.40 1.32 1.28 8.0+ 144 KLIST shuffle0 llength 10 1.00 1.64 1.54 1.42 8.0+ 145 KLIST shuffle0 llength 100 1.00 1.69 1.61 1.44 8.0+ 146 KLIST shuffle0 llength 1000 1.00 1.53 1.48 1.32 8.0+ 147 KLIST shuffle0 llength 10000 1.00 1.40 1.38 1.24 -=- 148 KLIST shuffle1-s llength 1 1.00 0.94 0.90 0.68 2.40 149 KLIST shuffle1-s llength 10 1.00 0.94 0.93 0.91 4.01 150 KLIST shuffle1-s llength 100 1.00 0.99 0.89 0.79 5.41 151 KLIST shuffle1-s llength 1000 1.00 0.98 0.87 0.85 3.37 152 KLIST shuffle1a llength 1 1.00 0.92 0.88 0.66 2.58 153 KLIST shuffle1a llength 10 1.00 0.94 0.96 0.92 4.72 154 KLIST shuffle1a llength 100 1.00 0.91 0.97 0.90 8.33 155 KLIST shuffle1a llength 1000 1.00 0.91 0.97 0.90 47.72 156 KLIST shuffle1a llength 10000 1.00 0.92 0.98 0.91 -=- 157 KLIST shuffle2 llength 1 1.00 1.14 1.09 1.12 2.67 158 KLIST shuffle2 llength 10 1.00 1.04 1.00 1.31 3.68 159 KLIST shuffle2 llength 100 1.00 1.02 0.96 1.27 3.75 160 KLIST shuffle2 llength 1000 1.00 1.02 0.96 1.25 3.73 161 KLIST shuffle2 llength 10000 1.00 1.02 0.97 1.27 -=- 162 KLIST shuffle3 llength 1 1.00 1.16 1.10 0.90 2.37 163 KLIST shuffle3 llength 10 1.00 1.20 1.23 1.22 4.59 164 KLIST shuffle3 llength 100 1.00 1.14 1.22 1.10 5.87 165 KLIST shuffle3 llength 1000 1.00 1.10 1.16 1.04 17.53 166 KLIST shuffle3 llength 10000 1.00 1.06 1.10 1.03 -=- 167 KLIST shuffle4 llength 1 1.00 1.20 1.18 0.92 2.67 168 KLIST shuffle4 llength 10 1.00 1.22 1.25 1.24 4.96 169 KLIST shuffle4 llength 100 1.00 1.17 1.22 1.13 7.57 170 KLIST shuffle4 llength 1000 1.00 1.16 1.22 1.11 35.45 171 KLIST shuffle4 llength 10000 1.00 1.16 1.24 1.11 -=- 172 KLIST shuffle5-s llength 1 1.00 1.00 0.95 0.82 4.09 173 KLIST shuffle5-s llength 10 1.00 0.92 0.84 0.71 4.19 174 KLIST shuffle5-s llength 100 1.00 0.89 0.77 0.63 4.12 175 KLIST shuffle5-s llength 1000 1.00 0.98 0.76 0.74 2.59 176 KLIST shuffle5a llength 1 1.00 0.96 0.92 0.77 3.96 177 KLIST shuffle5a llength 10 1.00 0.92 0.86 0.74 5.07 178 KLIST shuffle5a llength 100 1.00 0.89 0.85 0.75 6.47 179 KLIST shuffle5a llength 1000 1.00 0.91 0.87 0.82 18.09 180 KLIST shuffle5a llength 10000 1.00 0.94 0.92 0.92 -=- 181 LIST append to list 1.00 2.29 2.00 1.86 1.57 182 LIST concat APPEND 2x10 1.00 1.02 0.98 0.78 0.46 183 LIST concat APPEND 2x100 1.00 1.02 1.02 0.83 0.26 184 LIST concat APPEND 2x1000 1.00 1.00 1.02 0.83 0.20 185 LIST concat APPEND 2x10000 1.00 1.00 1.00 0.87 0.18 186 LIST concat CONCAT 2x10 1.00 1.00 2.13 1.73 1.67 187 LIST concat CONCAT 2x100 1.00 1.00 9.18 7.41 3.91 188 LIST concat CONCAT 2x1000 1.00 0.99 17.75 14.69 5.64 189 LIST concat CONCAT 2x10000 1.00 0.91 19.77 17.09 5.90 190 LIST concat EVAL/LAPPEND 2x10 1.00 1.00 1.88 1.69 1.35 191 LIST concat EVAL/LAPPEND 2x100 1.00 1.03 3.30 2.81 3.65 192 LIST concat EVAL/LAPPEND 2x1000 1.00 1.01 5.55 4.66 6.86 193 LIST concat EVAL/LAPPEND 2x10000 1.00 1.00 5.36 4.05 6.32 194 LIST concat FOREACH/LAPPEND 2x10 1.00 1.66 1.59 1.41 2.03 195 LIST concat FOREACH/LAPPEND 2x100 1.00 2.16 2.07 1.90 2.39 196 LIST concat FOREACH/LAPPEND 2x1000 1.00 2.26 2.19 1.99 2.42 197 LIST concat FOREACH/LAPPEND 2x10000 1.00 2.23 2.18 1.98 2.41 198 LIST concat SET 2x10 1.00 1.00 0.94 0.78 0.66 199 LIST concat SET 2x100 1.00 1.01 1.00 0.82 0.34 200 LIST concat SET 2x1000 1.00 1.02 1.01 0.82 0.26 201 LIST concat SET 2x10000 1.00 1.00 1.00 0.87 0.24 202 LIST exact search, first item 1.00 0.88 0.75 0.62 53.88 203 LIST exact search, last item 1.00 0.86 0.84 0.78 12.11 204 LIST exact search, middle item 1.00 0.82 0.76 0.65 25.82 205 LIST exact search, non-item 1.00 0.91 0.90 0.85 4.65 206 LIST exact search, typed item 1.00 1.03 1.00 0.94 14.45 207 LIST exact search, untyped item 1.00 0.86 0.84 0.78 12.11 208 LIST index first element 1.00 0.86 0.71 0.71 20.43 209 LIST index last element 1.00 0.86 0.71 0.71 25.14 210 LIST index middle element 1.00 0.86 0.71 0.71 22.71 211 LIST insert an item at "end" 1.00 0.98 0.99 0.95 3.30 212 LIST insert an item at middle 1.00 0.98 0.97 0.96 1.92 213 LIST insert an item at start 1.00 0.98 0.98 0.95 1.79 214 LIST iterate list 1.00 1.68 1.50 1.42 145.88 215 LIST join list 1.00 1.00 1.00 0.63 1.83 216 LIST large, early range 1.00 0.88 0.81 0.69 10.88 217 LIST large, late range 1.00 0.93 0.87 0.80 12.20 218 LIST length, pure list 1.00 1.17 1.00 0.83 83.67 219 LIST list 1.00 1.00 0.92 0.88 2.46 220 LIST remove first element 1.00 0.99 0.99 0.98 1.56 221 LIST remove in mixed list 1.00 0.95 7.96 0.94 1.70 222 LIST remove last element 1.00 0.98 0.99 0.97 2.10 223 LIST remove middle element 1.00 0.99 0.98 0.96 1.93 224 LIST replace first el with multiple 1.00 0.98 0.98 0.97 1.86 225 LIST replace first element 1.00 0.98 0.97 0.95 1.90 226 LIST replace in mixed list 1.00 0.95 8.30 0.94 1.82 227 LIST replace last el with multiple 1.00 0.98 0.98 0.96 3.36 228 LIST replace last element 1.00 0.98 0.97 0.94 3.32 229 LIST replace middle el with multiple 1.00 0.99 0.98 0.97 2.63 230 LIST replace middle element 1.00 0.98 0.98 0.95 2.67 231 LIST replace range 1.00 0.97 0.97 0.93 2.40 232 LIST small, early range 1.00 0.90 0.90 0.70 14.70 233 LIST small, late range 1.00 0.90 0.90 0.70 17.50 234 LIST sort 1.00 1.00 0.97 0.94 0.96 235 LIST sorted search, first item 1.00 0.78 0.67 0.56 47.89 236 LIST sorted search, last item 1.00 3.56 3.44 3.22 49.78 237 LIST sorted search, middle item 1.00 1.56 1.33 1.22 48.78 238 LIST sorted search, non-item 1.00 10.22 10.11 9.56 52.22 239 LIST sorted search, typed item 1.00 3.56 3.44 3.22 49.78 240 LIST typed sort 1.00 1.00 0.97 0.79 3.99 241 LOOP for (to 1000) 1.00 1.06 1.03 1.00 7.86 242 LOOP for, iterate list 1.00 1.37 1.25 1.15 66.85 243 LOOP for, iterate string 1.00 1.26 1.34 1.08 11.68 244 LOOP foreach, iterate list 1.00 0.97 0.95 0.89 2.68 245 LOOP foreach, iterate string 1.00 0.95 1.45 1.27 2.10 246 LOOP while (to 1000) 1.00 1.05 1.02 1.00 8.00 247 LOOP while 1 (to 1000) 1.00 1.39 1.30 1.22 11.08 248 MAP ([chars])-case regsub 1.00 1.02 1.01 0.19 0.31 249 MAP http mapReply 1.00 1.00 0.99 0.93 0.14 250 MAP regsub -nocase, no match 1.00 0.88 0.88 0.49 0.65 251 MAP regsub 1 val 1.00 7.70 7.69 1.25 2.49 252 MAP regsub 1 val -nocase 1.00 2.42 2.43 0.54 0.97 253 MAP regsub 2 val 1.00 13.56 13.51 1.26 2.16 254 MAP regsub 2 val -nocase 1.00 5.32 5.31 0.64 1.02 255 MAP regsub 3 val 1.00 14.04 14.05 1.30 2.16 256 MAP regsub 3 val -nocase 1.00 5.14 5.15 0.63 0.96 257 MAP regsub 4 val 1.00 13.58 13.60 1.25 2.05 258 MAP regsub 4 val -nocase 1.00 5.04 5.04 0.62 0.93 259 MAP regsub short 1.00 4.15 4.07 0.96 2.04 260 MAP regsub, no match 1.00 5.29 5.28 1.92 2.55 261 MAP string -nocase, no match 1.00 5.60 5.61 nomap nomap 262 MAP string 1 val 1.00 12.95 13.11 nomap nomap 263 MAP string 1 val -nocase 1.00 5.92 5.93 nomap nomap 264 MAP string 2 val 1.00 6.13 6.18 nomap nomap 265 MAP string 2 val -nocase 1.00 4.49 4.51 nomap nomap 266 MAP string 3 val 1.00 5.92 5.96 nomap nomap 267 MAP string 3 val -nocase 1.00 4.48 4.49 nomap nomap 268 MAP string 4 val 1.00 5.02 5.07 nomap nomap 269 MAP string 4 val -nocase 1.00 4.24 4.21 nomap nomap 270 MAP string short 1.00 1.10 1.10 nomap nomap 271 MAP string, no match 1.00 11.99 12.13 nomap nomap 272 MAP |-case regsub 1.00 0.98 0.95 0.30 0.47 273 MAP |-case strmap 1.00 1.30 1.25 nomap nomap 274 MATRIX mult 5x5 1.00 1.32 1.29 1.09 6.52 275 MATRIX mult 10x10 1.00 1.27 1.24 1.04 7.52 276 MATRIX mult 15x15 1.00 1.25 1.23 1.03 8.41 277 MATRIX transposition-0 1.00 2.42 2.31 1.88 6.22 278 MATRIX transposition-1 1.00 2.24 1.94 1.77 31.74 279 MD5 msg len 10 1.00 0.85 0.79 0.78 -=- 280 MD5 msg len 100 1.00 0.87 0.80 0.81 -=- 281 MD5 msg len 1000 1.00 0.88 0.82 0.84 -=- 282 MD5 msg len 10000 1.00 0.88 0.82 0.84 -=- 283 MTHD array stored proc call 1.00 0.83 0.67 0.67 -=- 284 MTHD call absolute 1.00 1.60 1.20 1.30 -=- 285 MTHD call relative 1.00 1.00 0.81 0.81 -=- 286 MTHD direct ns proc call 1.00 0.75 0.75 0.75 -=- 287 MTHD imported ns proc call 1.00 0.75 0.75 0.75 -=- 288 MTHD indirect proc eval 1.00 1.00 2.29 2.14 -=- 289 MTHD indirect proc eval #2 1.00 0.93 1.11 1.07 -=- 290 MTHD inline call 1.00 1.00 0.50 0.50 -=- 291 MTHD interp alias proc call 1.00 0.83 0.75 0.33 -=- 292 MTHD ns lookup call 1.00 0.98 1.32 1.12 -=- 293 MTHD switch method call 1.00 0.95 1.82 1.82 -=- 294 PARSE html form upload (7820) 1.00 1.02 0.98 0.92 -=- 295 PARSE html form upload (974068) 1.00 1.03 1.00 0.94 -=- 296 PROC do-nothing, no args 1.00 1.00 4.67 0.67 0.33 297 PROC do-nothing, one arg 1.00 1.00 1.00 0.67 1.33 298 PROC empty, no args 1.00 3.00 15.00 2.00 4.00 299 PROC empty, use args 1.00 4.00 4.00 3.00 6.00 300 PROC explicit return 1.00 1.33 1.00 1.00 2.00 301 PROC explicit return (2) 1.00 1.33 1.00 1.00 1.67 302 PROC explicit return (3) 1.00 1.33 1.00 1.00 1.67 303 PROC heavily commented 1.00 1.00 0.67 0.67 64.67 304 PROC implicit return 1.00 0.75 0.75 0.75 2.00 305 PROC implicit return (2) 1.00 0.75 0.75 0.75 1.50 306 PROC implicit return (3) 1.00 1.00 1.00 0.67 1.33 307 PROC local links with global 1.00 0.98 0.98 0.95 2.34 308 PROC local links with upvar 1.00 0.99 0.98 0.98 2.64 309 PROC local links with variable 1.00 0.98 0.95 0.59 2.69 310 RE 1-char long-end 1.00 0.96 0.94 12.19 12.98 311 RE 1-char long-end catching 1.00 0.99 0.95 6.63 6.97 312 RE 1-char long-middle 1.00 0.94 0.88 9.03 10.18 313 RE 1-char long-middle catching 1.00 0.99 0.93 4.16 4.55 314 RE 1-char long-start 1.00 0.94 0.82 0.65 2.88 315 RE 1-char long-start catching 1.00 0.95 0.93 0.49 0.97 316 RE 1-char short 1.00 0.94 0.82 0.65 0.76 317 RE 1-char short catching 1.00 0.95 0.90 0.48 0.39 318 RE basic 1.00 1.00 0.80 0.73 0.93 319 RE basic catching 1.00 0.97 0.94 0.42 0.35 320 RE c-comment long 1.00 1.02 1.00 1.49 2.19 321 RE c-comment long catching 1.00 0.98 0.96 0.61 0.80 322 RE c-comment long nomatch 1.00 0.96 0.95 0.20 1.07 323 RE c-comment long nomatch catching 1.00 0.94 0.95 0.20 1.07 324 RE c-comment long pmatch 1.00 0.99 1.01 6.25 7.10 325 RE c-comment long pmatch catching 1.00 0.98 0.96 6.19 7.03 326 RE c-comment many *s 1.00 0.99 0.97 1.73 2.54 327 RE c-comment many *s catching 1.00 0.99 0.99 0.67 0.94 328 RE c-comment nomatch 1.00 1.05 0.95 0.43 0.67 329 RE c-comment nomatch catching 1.00 0.95 0.86 0.41 0.64 330 RE c-comment simple 1.00 0.97 0.92 0.58 0.69 331 RE c-comment simple catching 1.00 0.97 0.96 0.29 0.26 332 RE count all matches 1.00 0.99 2.88 2.43 4.99 333 RE extract all matches 1.00 0.98 2.92 2.44 5.53 334 RE literal regexp 1.00 0.96 0.83 0.62 0.62 335 RE n-char long-end 1.00 0.94 0.94 13.53 14.33 336 RE n-char long-end catching 1.00 0.98 0.95 6.75 7.06 337 RE n-char long-middle 1.00 0.91 0.88 9.88 11.03 338 RE n-char long-middle catching 1.00 0.98 0.94 4.13 4.49 339 RE n-char long-start 1.00 0.94 0.78 0.61 2.67 340 RE n-char long-start catching 1.00 0.97 0.94 0.43 0.86 341 RE n-char short 1.00 0.94 0.78 0.61 0.78 342 RE n-char short catching 1.00 0.97 0.94 0.43 0.35 343 RE static long match 1.00 2.00 1.94 1.35 3.41 344 RE static long nomatch 1.00 1.85 1.81 0.96 2.31 345 RE static short match 1.00 3.75 3.50 1.75 2.00 346 RE static short nomatch 1.00 2.50 2.00 1.50 2.00 347 RE var-based regexp 1.00 0.96 0.88 0.64 0.76 348 READ 595K, gets 1.00 1.06 0.85 0.45 0.74 349 READ 595K, read 1.00 1.10 1.12 4.37 4.39 350 READ 595K, read & size 1.00 1.10 1.12 0.35 4.38 351 READ 3050b, gets 1.00 1.07 0.88 0.48 0.79 352 READ 3050b, read 1.00 1.00 0.99 0.46 0.54 353 READ 3050b, read & size 1.00 0.99 0.99 0.46 0.56 354 READ bin 595K, gets 1.00 1.08 0.89 0.45 0.74 355 READ bin 595K, read 1.00 0.97 1.10 17.71 17.95 356 READ bin 595K, read & size 1.00 0.97 1.10 1.40 17.78 357 READ bin 3050b, gets 1.00 1.08 0.89 0.48 0.77 358 READ bin 3050b, read 1.00 0.99 0.97 1.14 1.27 359 READ bin 3050b, read & size 1.00 0.98 0.95 1.08 1.25 360 SHA sha1 msg len 10 1.00 0.91 0.87 0.95 -=- 361 SHA sha1 msg len 100 1.00 0.92 0.87 0.96 -=- 362 SHA sha1 msg len 1000 1.00 0.93 0.87 0.97 -=- 363 SHA sha1 msg len 10000 1.00 0.92 0.88 0.97 -=- 364 SHA sha1DF msg len 10 1.00 1.32 1.22 1.08 -=- 365 SHA sha1DF msg len 100 1.00 1.33 1.23 1.09 -=- 366 SHA sha1DF msg len 1000 1.00 1.33 1.24 1.10 -=- 367 SHA sha1DF msg len 10000 1.00 1.34 1.25 1.10 -=- 368 STARTUP time to launch tclsh 1.00 0.87 0.89 0.92 0.45 369 STR append 1.00 0.75 0.63 0.51 4.33 370 STR append (1KB + 1KB) 1.00 1.33 1.25 1.00 6.12 371 STR append (1MB + (1b + 1K + 1b) * 100) 1.00 1.93 1.95 1.93 13.46 372 STR append (1MB + 1KB * 20) 1.00 2.11 2.15 2.15 15.23 373 STR append (1MB + 1KB * 1000) 1.00 1.63 1.58 1.56 9.91 374 STR append (1MB + 1KB) 1.00 2.13 2.18 2.18 15.45 375 STR append (1MB + 1MB * 3) 1.00 1.25 1.26 1.26 10.19 376 STR append (1MB + 1MB * 5) 1.00 1.96 1.95 1.95 10.63 377 STR append (1MB + 2b * 1000) 1.00 2.15 2.10 2.09 12.79 378 STR append (10KB + 1KB) 1.00 1.68 1.60 1.49 12.21 379 STR first (failure) 1.00 0.80 0.77 0.75 4.27 380 STR first (failure) utf 1.00 3.02 2.93 0.73 4.30 381 STR first (success) 1.00 1.12 0.88 0.75 19.00 382 STR first (success) utf 1.00 1.25 1.12 0.75 18.88 383 STR first (total failure) 1.00 0.43 0.41 0.41 4.86 384 STR first (total failure) utf 1.00 0.49 0.43 0.41 4.86 385 STR index 0 1.00 1.11 1.00 0.78 19.67 386 STR index 100 1.00 1.00 0.90 0.70 17.80 387 STR index 500 1.00 1.11 1.00 0.78 19.67 388 STR info locals match 1.00 1.06 1.03 1.00 2.94 389 STR last (failure) 1.00 1.10 1.07 0.84 3.24 390 STR last (success) 1.00 16.50 16.38 0.75 24.00 391 STR last (total failure) 1.00 1.13 1.11 0.78 4.00 392 STR length (==4010) 1.00 1.00 1.00 0.83 29.50 393 STR length of a LIST 1.00 1.20 1.00 1.00 34.40 394 STR length static str 1.00 2.00 1.67 1.67 6.67 395 STR match, complex (failure) 1.00 7.11 7.10 2.98 4.58 396 STR match, complex (success early) 1.00 1.62 1.50 1.00 18.50 397 STR match, complex (success late) 1.00 6.12 6.12 2.57 3.91 398 STR match, complex (total failure) 1.00 8.42 8.42 3.51 5.42 399 STR match, exact (failure) 1.00 1.25 1.00 1.00 1.75 400 STR match, exact (success) 1.00 1.50 1.25 1.00 1.75 401 STR match, exact -nocase (failure) 1.00 1.50 1.25 ERR ERR 402 STR match, exact -nocase (success) 1.00 1.14 1.00 ERR ERR 403 STR match, simple (failure) 1.00 1.25 1.00 1.00 2.25 404 STR match, simple (success) 1.00 1.25 1.00 1.00 2.50 405 STR range, index 100..200 of 4010 1.00 1.00 0.91 0.64 16.45 406 STR repeat, 4010 chars * 10 1.00 1.02 1.99 2.38 19.90 407 STR repeat, 4010 chars * 100 1.00 1.01 2.15 2.35 9.96 408 STR repeat, abcdefghij * 10 1.00 1.00 1.38 5.38 20.50 409 STR repeat, abcdefghij * 100 1.00 1.00 1.88 13.31 51.73 410 STR repeat, abcdefghij * 1000 1.00 1.00 1.89 16.15 62.07 411 STR replace, equal replacement 1.00 4.26 4.17 0.67 9.52 412 STR replace, longer replacement 1.00 3.93 3.89 0.60 8.91 413 STR replace, no replacement 1.00 4.19 4.14 0.62 9.52 414 STR reverse iter/append, 10 c 1.00 1.85 1.74 1.38 3.74 415 STR reverse iter/append, 10 uc 1.00 1.85 1.72 1.38 3.74 416 STR reverse iter/append, 100 c 1.00 2.22 2.09 1.62 5.31 417 STR reverse iter/append, 100 uc 1.00 2.18 2.04 1.62 5.29 418 STR reverse iter/append, 400 c 1.00 2.28 2.16 1.63 8.16 419 STR reverse iter/append, 400 uc 1.00 2.26 2.10 1.66 8.32 420 STR reverse iter/set, 10 c 1.00 1.21 1.25 1.00 3.48 421 STR reverse iter/set, 10 uc 1.00 1.24 1.24 1.02 3.57 422 STR reverse iter/set, 100 c 1.00 1.22 1.26 1.06 4.32 423 STR reverse iter/set, 100 uc 1.00 1.19 1.25 1.04 4.24 424 STR reverse iter/set, 400 c 1.00 1.20 1.24 1.02 6.75 425 STR reverse iter/set, 400 uc 1.00 1.20 1.25 1.01 6.87 426 STR reverse recursive, 10 c 1.00 1.23 1.16 0.89 2.80 427 STR reverse recursive, 10 uc 1.00 1.28 1.20 0.92 2.88 428 STR reverse recursive, 100 c 1.00 1.28 1.19 0.93 2.99 429 STR reverse recursive, 100 uc 1.00 1.65 1.56 0.94 3.01 430 STR reverse recursive, 400 c 1.00 1.25 1.19 0.93 8.0+ 431 STR reverse recursive, 400 uc 1.00 2.35 2.33 0.77 8.0+ 432 STR split iter, 4000 uchars 1.00 0.96 1.40 1.22 2.03 433 STR split iter, 4010 chars 1.00 0.96 1.40 1.23 2.04 434 STR split iter, rand 100 c 1.00 0.98 0.78 0.67 -=- 435 STR split iter, rand 1000 c 1.00 0.97 1.09 0.95 -=- 436 STR split iter, rand 10000 c 1.00 0.96 1.40 1.19 -=- 437 STR split, 4000 uchars 1.00 0.93 2.99 2.34 0.82 438 STR split, 4010 chars 1.00 0.94 3.15 2.49 0.84 439 STR split, rand 100 c 1.00 0.98 0.66 0.51 -=- 440 STR split, rand 1000 c 1.00 0.97 1.35 1.04 -=- 441 STR split, rand 10000 c 1.00 0.93 2.69 2.07 -=- 442 STR str $a eq $b 1.00 1.45 1.36 1.27 4.73 443 STR str $a eq $b (same obj) 1.00 1.45 1.36 1.27 4.73 444 STR str $a equal "" 1.00 1.38 1.38 1.12 8.00 445 STR str $a ne $b 1.00 1.42 1.25 1.25 4.08 446 STR str $a ne $b (same obj) 1.00 1.55 1.36 1.27 4.55 447 STR str num == "" 1.00 1.00 1.12 1.00 8.00 448 STR string compare 1.00 1.30 1.10 1.10 2.10 449 STR string compare "" 1.00 1.22 1.22 1.33 4.44 450 STR string compare long 1.00 0.97 0.95 0.95 4.85 451 STR string compare long (same obj) 1.00 14.56 14.33 14.33 73.78 452 STR string compare mixed long 1.00 0.71 0.70 0.70 3.48 453 STR string compare uni long 1.00 1.10 1.10 0.96 4.90 454 STR string equal "" 1.00 1.38 1.38 1.50 5.00 455 STR string equal long (!= len) 1.00 8.41 8.35 8.24 42.59 456 STR string equal long (== len) 1.00 1.29 1.27 1.27 6.88 457 STR string equal long (same obj) 1.00 11.17 11.00 11.00 60.33 458 STR string equal mixed long 1.00 11.25 11.08 11.00 60.33 459 STR string equal uni long 1.00 1.28 1.28 1.11 6.08 460 STR/LIST length, obj shimmer 1.00 1.00 1.00 0.01 0.54 461 SWITCH 1st true 1.00 0.84 0.79 0.74 2.47 462 SWITCH 2nd true 1.00 0.80 0.75 0.70 2.35 463 SWITCH 9th true 1.00 0.90 0.86 0.76 2.29 464 SWITCH default true 1.00 0.86 0.82 0.77 2.23 465 TRACE all set (rwu) 1.00 0.83 0.83 0.78 1.28 466 TRACE no trace set 1.00 0.83 0.83 0.78 1.28 467 TRACE read 1.00 0.83 0.83 0.78 1.28 468 TRACE unset 1.00 0.83 0.83 0.78 1.28 469 TRACE write 1.00 0.83 0.78 0.72 1.28 470 UNSET catch var !exist 1.00 0.95 0.92 0.82 0.55 471 UNSET catch var exists 1.00 0.83 0.83 0.83 2.00 472 UNSET info check var !exist 1.00 0.83 0.83 0.83 2.17 473 UNSET info check var exists 1.00 1.00 0.88 0.88 1.88 474 UNSET nocomplain var !exist 1.00 7.20 6.80 6.00 4.40 475 UNSET nocomplain var exists 1.00 0.83 0.83 0.83 2.17 476 UNSET var exists 1.00 0.83 0.67 0.67 1.17 477 VAR 'array set' of 100 elems 1.00 0.92 0.93 0.82 1.44 478 VAR 100 'set's in array 1.00 0.91 0.89 0.90 2.60 479 VAR access global 1.00 1.67 1.56 1.44 2.44 480 VAR access local proc arg 1.00 0.83 0.83 0.83 3.17 481 VAR access locally set 1.00 1.00 1.00 1.00 3.60 482 VAR access upvar 1.00 1.50 1.42 1.25 1.83 483 VAR mset 1.00 1.33 1.17 1.17 4.75 484 VAR mset (foreach) 1.00 1.00 0.88 0.88 3.75 485 VAR ref absolute 1.00 0.93 0.95 0.76 8.0+ 486 VAR ref variable 1.00 2.17 2.13 1.85 8.0+ 487 VAR set array element 1.00 0.78 0.67 0.67 1.00 488 VAR set scalar 1.00 0.75 0.75 0.75 2.00 489 WORDCOUNT wc1 1.00 1.02 0.98 0.37 0.61 490 WORDCOUNT wc2 1.00 2.22 2.22 0.86 1.29 491 WORDCOUNT wc3 1.00 2.29 2.31 0.82 1.02 491 BENCHMARKS 1:8.4a5 2:8.3.4 3:8.2.3 4:8.0.5 5:7.6p2 FINISHED 2002-06-12 10:35:08