[Jeffrey Hobbs]: These are the normalized benchmarks, using "8.4.0" 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.4.0 2:8.3.4 3:8.2.3 4:8.0.5 5:7.6p2 STARTED 2002-09-10 22:46:33 (runbench.tcl v1.14) Benchmark 1:8.4.0 /home/jeffh/install/linux-ix86/bin/tclsh8.4 bbccdeeefghkllmmmmpprrssstuvw 00:05:51 elapsed Benchmark 2:8.3.4 /home/jeffh/install/linux-ix86/bin/tclsh8.3 bbccdeeefghkllmmmmpprrssstuvw 00:08:28 elapsed Benchmark 3:8.2.3 /home/jeffh/install/linux-ix86/bin/tclsh8.2 bbccdeeefghkllmmmmpprrssstuvw 00:08:39 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:26 elapsed 000 VERSIONS: 1:8.4.0 2:8.3.4 3:8.2.3 4:8.0.5 5:7.6p2 001 BASE64 decode 10 1.00 1.14 1.07 1.08 -=- 002 BASE64 decode 100 1.00 1.11 1.10 1.11 -=- 003 BASE64 decode 1000 1.00 1.12 1.10 1.12 -=- 004 BASE64 decode 10000 1.00 1.12 1.12 1.13 -=- 005 BASE64 decode2 10 1.00 1.13 1.06 1.07 -=- 006 BASE64 decode2 100 1.00 1.11 1.07 1.11 -=- 007 BASE64 decode2 1000 1.00 1.12 1.08 1.11 -=- 008 BASE64 decode2 10000 1.00 1.11 1.10 1.11 -=- 009 BASE64 decode3 10 1.00 1.66 1.58 1.35 -=- 010 BASE64 decode3 100 1.00 1.85 1.71 1.48 -=- 011 BASE64 decode3 1000 1.00 1.89 1.74 1.50 -=- 012 BASE64 decode3 10000 1.00 1.92 1.75 1.51 -=- 013 BASE64 encode 10 1.00 1.53 1.44 1.65 -=- 014 BASE64 encode 100 1.00 1.62 1.61 1.88 -=- 015 BASE64 encode 1000 1.00 1.64 1.63 1.92 -=- 016 BASE64 encode 10000 1.00 1.65 1.64 1.93 -=- 017 BASE64 encode2 10 1.00 1.56 1.43 1.66 -=- 018 BASE64 encode2 100 1.00 1.66 1.59 1.90 -=- 019 BASE64 encode2 1000 1.00 1.66 1.59 1.93 -=- 020 BASE64 encode2 10000 1.00 1.67 1.61 1.95 -=- 021 BASE64 encode3 10 1.00 1.51 1.57 1.26 -=- 022 BASE64 encode3 100 1.00 2.03 2.21 1.71 -=- 023 BASE64 encode3 1000 1.00 2.21 2.42 1.86 -=- 024 BASE64 encode3 10000 1.00 2.27 2.48 1.89 -=- 025 BIN bitset-v1 1000 chars 1.00 1.19 1.16 1.04 -=- 026 BIN bitset-v1 5000 chars 1.00 1.21 1.19 1.07 -=- 027 BIN bitset-v1 10000 chars 1.00 1.21 1.21 1.08 -=- 028 BIN bitset-v2 1000 chars 1.00 1.29 1.15 1.03 -=- 029 BIN bitset-v2 5000 chars 1.00 1.30 1.17 1.04 -=- 030 BIN bitset-v2 10000 chars 1.00 1.32 1.17 1.04 -=- 031 BIN bitset-v3 1000 chars 1.00 2.30 2.23 1.95 -=- 032 BIN bitset-v3 5000 chars 1.00 2.60 2.43 2.16 -=- 033 BIN bitset-v3 10000 chars 1.00 2.61 2.49 2.20 -=- 034 BIN c scan, 1000b 1.00 0.68 0.66 0.52 -=- 035 BIN c scan, 5000b 1.00 0.95 0.93 0.74 -=- 036 BIN c scan, 10000b 1.00 1.15 0.99 0.80 -=- 037 CATCH error, complex 1.00 1.10 1.07 0.93 1.07 038 CATCH no catch used 1.00 1.00 0.86 0.86 2.00 039 CATCH return error 1.00 1.07 1.00 0.86 1.03 040 CATCH return except 1.00 1.00 0.86 0.86 2.57 041 CATCH return ok 1.00 1.00 0.86 0.86 3.00 042 DATA access in a list 1.00 3.24 2.84 2.73 64.25 043 DATA access in an array 1.00 2.06 2.07 1.83 7.17 044 DATA create in a list 1.00 3.88 3.85 3.67 11.65 045 DATA create in an array 1.00 1.50 1.46 1.83 4.69 046 ENC iso2022-jp, gets 1.00 0.89 0.92 -=- -=- 047 ENC iso2022-jp, read 1.00 0.89 0.95 -=- -=- 048 ENC iso2022-jp, read & size 1.00 0.89 0.91 -=- -=- 049 ENC iso8859-2, gets 1.00 0.65 0.61 -=- -=- 050 ENC iso8859-2, read 1.00 0.58 0.56 -=- -=- 051 ENC iso8859-2, read & size 1.00 0.58 0.57 -=- -=- 052 EVAL cmd and mixed lists 1.00 0.77 2.09 1.47 0.31 053 EVAL cmd eval as list 1.00 1.25 3.62 3.25 1.38 054 EVAL cmd eval as string 1.00 0.89 1.07 0.93 0.43 055 EVAL cmd eval in list obj var 1.00 1.38 3.75 3.38 1.88 056 EVAL list cmd and mixed lists 1.00 0.77 2.11 1.48 0.31 057 EVAL list cmd and pure lists 1.00 1.04 17.04 11.95 2.49 058 EXPR $a != $b int 1.00 1.20 1.00 1.00 8.20 059 EXPR $a != $b str (!= len) 1.00 1.45 1.27 1.18 5.45 060 EXPR $a != $b str (== len) 1.00 1.14 1.00 0.93 4.21 061 EXPR $a == $b int 1.00 1.20 1.00 1.00 8.00 062 EXPR $a == $b str (!= len) 1.00 1.45 1.27 1.18 5.27 063 EXPR $a == $b str (== len) 1.00 1.14 1.00 0.93 4.29 064 EXPR braced 1.00 1.09 1.09 0.91 7.18 065 EXPR fifty operands 1.00 1.11 1.11 0.95 4.42 066 EXPR incr with expr 1.00 1.00 1.00 1.00 5.00 067 EXPR incr with incr 1.00 1.67 1.33 1.00 3.67 068 EXPR inline 1.00 1.86 1.86 1.57 5.14 069 EXPR one operand 1.00 1.00 1.00 1.00 4.33 070 EXPR ten operands 1.00 1.00 1.00 0.83 4.50 071 EXPR unbraced 1.00 0.72 0.73 0.59 0.61 072 FCOPY binary: 160K 1.00 1.01 1.01 -=- -=- 073 FCOPY encoding: 160K 1.00 0.27 0.26 -=- -=- 074 FCOPY std: 160K 1.00 1.05 1.01 1.06 1.09 075 GCCont_cpb::cGCC 50 1.00 2.14 2.24 1.86 -=- 076 GCCont_cpb::cGCC 500 1.00 3.07 3.42 2.75 -=- 077 GCCont_cpb::cGCC 5000 1.00 3.40 3.76 3.02 -=- 078 GCCont_cpbre1::cGCC 50 1.00 1.06 -=- -=- -=- 079 GCCont_cpbre1::cGCC 500 1.00 1.01 -=- -=- -=- 080 GCCont_cpbre1::cGCC 5000 1.00 1.01 -=- -=- -=- 081 GCCont_cpbre2::cGCC 50 1.00 1.06 -=- -=- -=- 082 GCCont_cpbre2::cGCC 500 1.00 1.01 -=- -=- -=- 083 GCCont_cpbre2::cGCC 5000 1.00 1.01 -=- -=- -=- 084 GCCont_cpbrs2::cGCC 50 1.00 3.59 3.56 -=- -=- 085 GCCont_cpbrs2::cGCC 500 1.00 6.92 6.90 -=- -=- 086 GCCont_cpbrs2::cGCC 5000 1.00 7.96 7.98 -=- -=- 087 GCCont_cpbrs::cGCC1 50 1.00 3.14 3.12 2.21 -=- 088 GCCont_cpbrs::cGCC1 500 1.00 6.13 6.13 1.48 -=- 089 GCCont_cpbrs::cGCC1 5000 1.00 7.59 7.61 1.13 -=- 090 GCCont_cpbrs::cGCC2 50 1.00 4.28 4.26 2.61 -=- 091 GCCont_cpbrs::cGCC2 500 1.00 7.53 7.50 1.58 -=- 092 GCCont_cpbrs::cGCC2 5000 1.00 8.99 8.99 1.09 -=- 093 GCCont_cpbrs_trap::cGCC 50 1.00 1.06 1.06 0.65 -=- 094 GCCont_cpbrs_trap::cGCC 500 1.00 1.05 1.04 0.51 -=- 095 GCCont_cpbrs_trap::cGCC 5000 1.00 1.04 1.04 0.48 -=- 096 GCCont_expr::cGCC 50 1.00 0.94 0.93 -=- -=- 097 GCCont_expr::cGCC 500 1.00 1.04 1.04 -=- -=- 098 GCCont_expr::cGCC 5000 1.00 1.04 1.07 -=- -=- 099 GCCont_i::cGCC1 50 1.00 1.04 1.07 0.97 -=- 100 GCCont_i::cGCC1 500 1.00 1.03 1.08 0.99 -=- 101 GCCont_i::cGCC1 5000 1.00 1.02 1.10 0.99 -=- 102 GCCont_i::cGCC2 50 1.00 1.54 1.67 1.36 -=- 103 GCCont_i::cGCC2 500 1.00 1.64 1.93 1.59 -=- 104 GCCont_i::cGCC2 5000 1.00 1.65 1.97 1.61 -=- 105 GCCont_i::cGCC3 50 1.00 1.61 1.77 1.43 -=- 106 GCCont_i::cGCC3 500 1.00 1.78 2.12 1.72 -=- 107 GCCont_i::cGCC3 5000 1.00 1.79 2.21 1.76 -=- 108 GCCont_r1::cGCC 50 1.00 1.11 1.17 0.93 -=- 109 GCCont_r1::cGCC 500 1.00 1.12 1.20 0.95 -=- 110 GCCont_r1::cGCC 5000 1.00 1.14 1.21 0.96 -=- 111 GCCont_r2::cGCC 50 1.00 0.91 1.06 0.84 -=- 112 GCCont_r2::cGCC 500 1.00 0.87 1.05 0.83 -=- 113 GCCont_r2::cGCC 5000 1.00 0.89 1.07 0.85 -=- 114 GCCont_r3::cGCC 50 1.00 0.91 1.05 0.82 -=- 115 GCCont_r3::cGCC 500 1.00 0.90 1.07 0.83 -=- 116 GCCont_r3::cGCC 5000 1.00 0.91 1.07 0.83 -=- 117 GCCont_rsf1::cGCC 50 1.00 1.33 1.62 -=- -=- 118 GCCont_rsf1::cGCC 500 1.00 1.50 2.07 -=- -=- 119 GCCont_rsf1::cGCC 5000 1.00 1.54 2.16 -=- -=- 120 GCCont_rsf2::cGCC1 50 1.00 1.39 1.54 -=- -=- 121 GCCont_rsf2::cGCC1 500 1.00 1.68 2.10 -=- -=- 122 GCCont_rsf2::cGCC1 5000 1.00 1.75 2.22 -=- -=- 123 GCCont_rsf2::cGCC2 50 1.00 1.29 1.47 -=- -=- 124 GCCont_rsf2::cGCC2 500 1.00 1.61 2.02 -=- -=- 125 GCCont_rsf2::cGCC2 5000 1.00 1.68 2.16 -=- -=- 126 GCCont_rsf3::cGCC 50 1.00 1.27 1.45 -=- -=- 127 GCCont_rsf3::cGCC 500 1.00 1.61 2.02 -=- -=- 128 GCCont_rsf3::cGCC 5000 1.00 1.68 2.16 -=- -=- 129 GCCont_turing::cGCC 50 1.00 1.77 1.75 -=- -=- 130 GCCont_turing::cGCC 500 1.00 2.93 2.92 -=- -=- 131 GCCont_turing::cGCC 5000 1.00 3.36 3.45 -=- -=- 132 HEAPSORT size 10 1.00 1.38 1.32 16.40 9.75 133 HEAPSORT size 50 1.00 1.32 1.26 11.55 9.79 134 HEAPSORT size 100 1.00 1.31 1.26 10.16 9.75 135 HEAPSORT2 size 10 1.00 -=- -=- -=- -=- 136 HEAPSORT2 size 50 1.00 -=- -=- -=- -=- 137 HEAPSORT2 size 100 1.00 -=- -=- -=- -=- 138 IF 1/0 check 1.00 2.00 1.50 1.50 6.75 139 IF else true al 1.00 1.07 1.00 0.86 3.14 140 IF else true numeric 1.00 1.33 1.17 1.17 6.33 141 IF elseif true al 1.00 1.36 1.27 1.09 3.91 142 IF elseif true numeric 1.00 1.33 1.33 1.17 6.50 143 IF if false al/al 1.00 1.00 0.90 0.80 3.20 144 IF if false al/num 1.00 1.12 1.00 0.88 6.62 145 IF if false num/num 1.00 1.20 1.20 1.20 6.60 146 IF if true al 1.00 2.00 1.80 1.60 6.80 147 IF if true al/al 1.00 2.20 2.00 1.60 6.60 148 IF if true num/num 1.00 1.40 1.20 1.20 6.40 149 IF if true numeric 1.00 1.20 1.20 1.00 6.00 150 IF multi 1st true 1.00 1.20 1.20 1.20 10.00 151 IF multi 2nd true 1.00 1.33 1.17 1.17 8.83 152 IF multi 9th true 1.00 1.45 1.36 1.27 8.18 153 IF multi default true 1.00 1.45 1.36 1.27 8.36 154 KLIST shuffle0 llength 1 1.00 1.52 1.40 1.32 8.0+ 155 KLIST shuffle0 llength 10 1.00 1.96 1.84 1.70 8.0+ 156 KLIST shuffle0 llength 100 1.00 2.07 1.97 1.76 8.0+ 157 KLIST shuffle0 llength 1000 1.00 1.88 1.81 1.61 8.0+ 158 KLIST shuffle0 llength 10000 1.00 1.62 1.58 1.41 -=- 159 KLIST shuffle1-s llength 1 1.00 1.07 1.02 0.77 2.73 160 KLIST shuffle1-s llength 10 1.00 1.13 1.09 1.08 4.76 161 KLIST shuffle1-s llength 100 1.00 1.11 1.02 0.91 6.16 162 KLIST shuffle1-s llength 1000 1.00 1.02 0.91 0.89 3.49 163 KLIST shuffle1a llength 1 1.00 1.12 1.04 0.80 3.06 164 KLIST shuffle1a llength 10 1.00 1.25 1.29 1.23 6.33 165 KLIST shuffle1a llength 100 1.00 1.25 1.33 1.23 11.34 166 KLIST shuffle1a llength 1000 1.00 1.26 1.34 1.24 66.03 167 KLIST shuffle1a llength 10000 1.00 1.26 1.34 1.25 -=- 168 KLIST shuffle2 llength 1 1.00 1.30 1.24 1.32 3.08 169 KLIST shuffle2 llength 10 1.00 1.42 1.35 1.76 4.94 170 KLIST shuffle2 llength 100 1.00 1.39 1.31 1.71 5.09 171 KLIST shuffle2 llength 1000 1.00 1.39 1.30 1.70 5.07 172 KLIST shuffle2 llength 10000 1.00 1.34 1.27 1.66 -=- 173 KLIST shuffle3 llength 1 1.00 1.30 1.23 1.00 2.73 174 KLIST shuffle3 llength 10 1.00 1.51 1.57 1.54 5.79 175 KLIST shuffle3 llength 100 1.00 1.52 1.60 1.46 7.83 176 KLIST shuffle3 llength 1000 1.00 1.45 1.50 1.35 22.92 177 KLIST shuffle3 llength 10000 1.00 1.20 1.25 1.17 -=- 178 KLIST shuffle4 llength 1 1.00 1.26 1.24 1.00 2.78 179 KLIST shuffle4 llength 10 1.00 1.54 1.57 1.54 6.06 180 KLIST shuffle4 llength 100 1.00 1.54 1.60 1.48 10.00 181 KLIST shuffle4 llength 1000 1.00 1.56 1.65 1.50 47.79 182 KLIST shuffle4 llength 10000 1.00 1.55 1.65 1.49 -=- 183 KLIST shuffle5-s llength 1 1.00 1.22 1.17 1.00 5.00 184 KLIST shuffle5-s llength 10 1.00 1.13 1.02 0.86 5.06 185 KLIST shuffle5-s llength 100 1.00 1.12 0.95 0.77 5.02 186 KLIST shuffle5-s llength 1000 1.00 1.02 0.78 0.78 2.70 187 KLIST shuffle5a llength 1 1.00 1.19 1.10 0.95 4.95 188 KLIST shuffle5a llength 10 1.00 1.14 1.07 0.93 6.31 189 KLIST shuffle5a llength 100 1.00 1.12 1.05 0.92 7.91 190 KLIST shuffle5a llength 1000 1.00 1.09 1.04 0.98 21.74 191 KLIST shuffle5a llength 10000 1.00 1.04 1.01 1.01 -=- 192 KLIST shuffle6 llength 1 1.00 -=- -=- -=- -=- 193 KLIST shuffle6 llength 10 1.00 -=- -=- -=- -=- 194 KLIST shuffle6 llength 100 1.00 -=- -=- -=- -=- 195 KLIST shuffle6 llength 1000 1.00 -=- -=- -=- -=- 196 KLIST shuffle6 llength 10000 1.00 -=- -=- -=- -=- 197 LIST append to list 1.00 2.29 2.00 1.86 1.57 198 LIST concat APPEND 2x10 1.00 1.12 1.07 0.86 0.50 199 LIST concat APPEND 2x100 1.00 1.01 1.00 0.82 0.26 200 LIST concat APPEND 2x1000 1.00 1.00 1.01 0.83 0.20 201 LIST concat APPEND 2x10000 1.00 1.01 1.03 0.87 0.19 202 LIST concat CONCAT 2x10 1.00 1.25 2.67 2.17 2.08 203 LIST concat CONCAT 2x100 1.00 1.16 10.68 8.58 4.53 204 LIST concat CONCAT 2x1000 1.00 1.03 18.40 15.23 5.85 205 LIST concat CONCAT 2x10000 1.00 1.00 21.49 18.09 6.48 206 LIST concat EVAL/LAPPEND 2x10 1.00 1.08 1.88 1.69 1.35 207 LIST concat EVAL/LAPPEND 2x100 1.00 1.05 3.30 2.81 3.65 208 LIST concat EVAL/LAPPEND 2x1000 1.00 1.01 5.58 4.69 6.91 209 LIST concat EVAL/LAPPEND 2x10000 1.00 1.06 5.38 4.06 6.34 210 LIST concat FOREACH/LAPPEND 2x10 1.00 2.18 2.09 1.86 2.68 211 LIST concat FOREACH/LAPPEND 2x100 1.00 3.19 3.05 2.78 3.51 212 LIST concat FOREACH/LAPPEND 2x1000 1.00 3.35 3.26 2.96 3.60 213 LIST concat FOREACH/LAPPEND 2x10000 1.00 3.28 3.20 2.94 3.52 214 LIST concat SET 2x10 1.00 1.10 1.03 0.86 0.76 215 LIST concat SET 2x100 1.00 0.99 0.99 0.81 0.33 216 LIST concat SET 2x1000 1.00 0.99 1.00 0.81 0.25 217 LIST concat SET 2x10000 1.00 0.99 1.00 0.83 0.24 218 LIST exact search, first item 1.00 1.17 1.00 0.83 71.83 219 LIST exact search, last item 1.00 0.89 0.86 0.81 12.44 220 LIST exact search, middle item 1.00 0.93 0.87 0.73 29.27 221 LIST exact search, non-item 1.00 0.93 0.92 0.87 4.76 222 LIST exact search, typed item 1.00 1.10 1.07 1.00 15.45 223 LIST exact search, untyped item 1.00 0.91 0.89 0.83 12.80 224 LIST index first element 1.00 1.50 1.25 1.25 35.75 225 LIST index last element 1.00 1.50 1.25 1.25 44.00 226 LIST index middle element 1.00 1.50 1.25 1.25 39.75 227 LIST insert an item at "end" 1.00 1.01 1.02 0.97 3.40 228 LIST insert an item at middle 1.00 0.98 0.98 0.98 1.95 229 LIST insert an item at start 1.00 1.01 1.01 0.98 1.85 230 LIST iterate list 1.00 2.82 2.49 2.34 241.23 231 LIST join list 1.00 1.01 1.01 0.64 1.85 232 LIST large, early range 1.00 1.15 1.00 0.85 13.38 233 LIST large, late range 1.00 1.08 1.00 0.92 14.08 234 LIST length, pure list 1.00 1.75 1.50 1.25 125.25 235 LIST list 1.00 1.50 1.38 1.31 3.69 236 LIST remove first element 1.00 1.00 1.01 0.99 1.58 237 LIST remove in mixed list 1.00 0.99 8.13 0.96 1.74 238 LIST remove last element 1.00 1.00 1.02 0.99 2.15 239 LIST remove middle element 1.00 1.03 1.02 1.00 2.00 240 LIST replace first el with multiple 1.00 1.00 1.00 0.99 1.91 241 LIST replace first element 1.00 1.02 1.01 0.98 1.96 242 LIST replace in mixed list 1.00 0.98 8.42 0.95 1.85 243 LIST replace last el with multiple 1.00 1.00 1.00 0.97 3.42 244 LIST replace last element 1.00 1.02 1.01 0.97 3.44 245 LIST replace middle el with multiple 1.00 1.03 1.02 1.01 2.74 246 LIST replace middle element 1.00 1.01 1.02 0.98 2.76 247 LIST replace range 1.00 1.03 1.02 0.97 2.51 248 LIST small, early range 1.00 1.12 1.12 0.88 18.38 249 LIST small, late range 1.00 1.12 1.12 0.88 21.88 250 LIST sort 1.00 1.01 0.99 0.96 0.98 251 LIST sorted search, first item 1.00 1.00 0.86 0.71 61.57 252 LIST sorted search, last item 1.00 4.00 3.88 3.62 56.00 253 LIST sorted search, middle item 1.00 2.00 1.71 1.57 62.71 254 LIST sorted search, non-item 1.00 13.00 13.00 12.29 67.14 255 LIST sorted search, typed item 1.00 4.57 4.43 4.14 64.00 256 LIST typed sort 1.00 1.00 0.97 0.79 3.98 257 LOOP for (to 1000) 1.00 2.18 2.12 2.06 16.21 258 LOOP for, iterate list 1.00 2.40 2.16 2.01 117.39 259 LOOP for, iterate string 1.00 2.01 2.14 1.72 18.62 260 LOOP foreach, iterate list 1.00 1.75 1.72 1.60 4.86 261 LOOP foreach, iterate string 1.00 1.38 2.09 1.82 2.97 262 LOOP while (to 1000) 1.00 2.18 2.12 2.06 16.46 263 LOOP while 1 (to 1000) 1.00 2.39 2.23 2.09 19.16 264 MAP ([chars])-case regsub 1.00 1.02 1.02 0.20 0.31 265 MAP http mapReply 1.00 0.97 0.97 0.91 0.13 266 MAP regsub -nocase, no match 1.00 0.89 0.88 0.50 0.66 267 MAP regsub 1 val 1.00 7.86 7.83 1.27 2.54 268 MAP regsub 1 val -nocase 1.00 2.45 2.45 0.54 0.98 269 MAP regsub 2 val 1.00 13.66 13.61 1.26 2.18 270 MAP regsub 2 val -nocase 1.00 5.35 5.34 0.65 1.03 271 MAP regsub 3 val 1.00 14.14 14.16 1.31 2.18 272 MAP regsub 3 val -nocase 1.00 5.17 5.17 0.63 0.97 273 MAP regsub 4 val 1.00 13.67 13.70 1.26 2.06 274 MAP regsub 4 val -nocase 1.00 5.06 5.06 0.62 0.93 275 MAP regsub short 1.00 4.27 4.19 1.00 2.15 276 MAP regsub, no match 1.00 5.49 5.45 1.99 2.64 277 MAP string -nocase, no match 1.00 5.63 5.63 nomap nomap 278 MAP string 1 val 1.00 13.12 13.28 nomap nomap 279 MAP string 1 val -nocase 1.00 5.96 5.94 nomap nomap 280 MAP string 2 val 1.00 6.19 6.23 nomap nomap 281 MAP string 2 val -nocase 1.00 4.49 4.51 nomap nomap 282 MAP string 3 val 1.00 5.95 6.00 nomap nomap 283 MAP string 3 val -nocase 1.00 4.49 4.49 nomap nomap 284 MAP string 4 val 1.00 5.08 5.10 nomap nomap 285 MAP string 4 val -nocase 1.00 4.25 4.21 nomap nomap 286 MAP string short 1.00 1.16 1.11 nomap nomap 287 MAP string, no match 1.00 12.13 12.25 nomap nomap 288 MAP |-case regsub 1.00 1.01 0.99 0.31 0.48 289 MAP |-case strmap 1.00 1.30 1.25 nomap nomap 290 MATRIX mult 5x5 1.00 1.96 1.90 1.61 9.50 291 MATRIX mult 10x10 1.00 1.84 1.81 1.51 10.91 292 MATRIX mult 15x15 1.00 1.80 1.77 1.48 11.94 293 MATRIX transposition-0 1.00 3.22 3.09 2.53 8.31 294 MATRIX transposition-1 1.00 3.20 2.75 2.52 45.20 295 MD5 msg len 10 1.00 1.02 0.95 0.93 -=- 296 MD5 msg len 100 1.00 1.05 0.97 0.97 -=- 297 MD5 msg len 1000 1.00 1.10 1.01 1.02 -=- 298 MD5 msg len 10000 1.00 1.10 1.02 1.03 -=- 299 MD5-2 msg len 10 1.00 0.91 0.87 0.75 -=- 300 MD5-2 msg len 100 1.00 0.95 0.92 0.81 -=- 301 MD5-2 msg len 1000 1.00 1.03 1.02 0.91 -=- 302 MD5-2 msg len 10000 1.00 1.05 1.05 0.93 -=- 303 MTHD array stored proc call 1.00 1.00 0.80 0.80 -=- 304 MTHD call absolute 1.00 1.78 1.33 1.44 -=- 305 MTHD call relative 1.00 1.07 0.87 0.87 -=- 306 MTHD direct ns proc call 1.00 1.00 1.00 1.00 -=- 307 MTHD imported ns proc call 1.00 1.00 1.00 1.00 -=- 308 MTHD indirect proc eval 1.00 1.08 2.46 2.31 -=- 309 MTHD indirect proc eval #2 1.00 0.96 1.19 1.12 -=- 310 MTHD inline call 1.00 2.00 1.00 1.00 -=- 311 MTHD interp alias proc call 1.00 2.00 1.80 0.80 -=- 312 MTHD ns lookup call 1.00 1.04 1.46 1.22 -=- 313 MTHD switch method call 1.00 1.05 2.00 1.95 -=- 314 PARSE html form upload (7820) 1.00 1.14 1.10 1.04 -=- 315 PARSE html form upload (974068) 1.00 1.14 1.11 1.05 -=- 316 PROC do-nothing, no args 1.00 1.00 4.67 0.67 0.33 317 PROC do-nothing, one arg 1.00 1.00 1.00 0.67 1.33 318 PROC empty, no args 1.00 3.00 15.00 2.00 4.00 319 PROC empty, use args 1.00 4.00 4.00 3.00 6.00 320 PROC explicit return 1.00 1.33 1.00 1.00 2.00 321 PROC explicit return (2) 1.00 1.33 1.00 1.00 1.67 322 PROC explicit return (3) 1.00 1.33 1.00 1.00 1.67 323 PROC heavily commented 1.00 1.00 0.67 0.67 64.67 324 PROC implicit return 1.00 1.00 1.00 1.00 2.67 325 PROC implicit return (2) 1.00 1.00 1.00 1.00 2.00 326 PROC implicit return (3) 1.00 1.00 1.00 0.67 1.33 327 PROC local links with global 1.00 1.22 1.21 1.18 2.89 328 PROC local links with upvar 1.00 1.21 1.19 1.19 3.22 329 PROC local links with variable 1.00 1.17 1.15 0.71 3.25 330 RE 1-char long-end 1.00 1.00 1.00 13.02 13.87 331 RE 1-char long-end catching 1.00 1.23 1.20 7.76 8.23 332 RE 1-char long-middle 1.00 1.07 1.00 10.28 11.59 333 RE 1-char long-middle catching 1.00 1.28 1.28 5.09 5.67 334 RE 1-char long-start 1.00 1.23 1.08 0.85 3.69 335 RE 1-char long-start catching 1.00 1.40 1.38 0.81 1.54 336 RE 1-char short 1.00 1.23 1.08 0.85 1.00 337 RE 1-char short catching 1.00 1.38 1.38 0.79 0.81 338 RE basic 1.00 1.25 1.00 0.92 1.08 339 RE basic catching 1.00 1.34 1.32 0.72 0.72 340 RE c-comment long 1.00 1.05 1.02 1.55 2.25 341 RE c-comment long catching 1.00 1.09 1.09 0.71 1.15 342 RE c-comment long nomatch 1.00 1.04 1.05 0.22 1.17 343 RE c-comment long nomatch catching 1.00 1.00 1.04 0.25 1.23 344 RE c-comment long pmatch 1.00 1.01 1.00 6.48 7.36 345 RE c-comment long pmatch catching 1.00 1.01 1.00 6.36 7.28 346 RE c-comment many *s 1.00 1.02 1.00 1.79 2.64 347 RE c-comment many *s catching 1.00 1.09 1.08 0.74 1.31 348 RE c-comment nomatch 1.00 1.17 1.06 0.50 0.72 349 RE c-comment nomatch catching 1.00 1.15 1.00 0.60 1.05 350 RE c-comment simple 1.00 1.06 0.97 0.61 0.76 351 RE c-comment simple catching 1.00 1.15 1.12 0.40 0.42 352 RE count all matches 1.00 0.99 2.88 2.42 4.96 353 RE extract all matches 1.00 0.97 2.89 2.39 5.38 354 RE literal regexp 1.00 1.10 0.95 0.71 0.76 355 RE n-char long-end 1.00 1.07 1.07 15.42 16.33 356 RE n-char long-end catching 1.00 1.20 1.19 7.76 8.21 357 RE n-char long-middle 1.00 1.10 1.03 11.62 12.93 358 RE n-char long-middle catching 1.00 1.24 1.23 4.93 5.45 359 RE n-char long-start 1.00 1.21 1.00 0.79 3.57 360 RE n-char long-start catching 1.00 1.33 1.31 0.67 1.34 361 RE n-char short 1.00 1.21 1.00 0.79 0.93 362 RE n-char short catching 1.00 1.32 1.32 0.70 0.65 363 RE static long match 1.00 2.27 2.20 1.53 3.93 364 RE static long nomatch 1.00 2.00 1.96 1.04 2.50 365 RE static short match 1.00 3.75 3.50 1.50 2.00 366 RE static short nomatch 1.00 2.50 2.00 1.25 2.00 367 RE var-based regexp 1.00 1.14 1.05 0.76 0.95 368 READ 595K, gets 1.00 1.51 1.22 0.66 1.22 369 READ 595K, read 1.00 1.10 1.12 4.32 4.72 370 READ 595K, read & size 1.00 1.10 1.13 0.35 4.73 371 READ 3050b, gets 1.00 1.47 1.21 0.68 1.23 372 READ 3050b, read 1.00 1.02 1.01 0.47 0.77 373 READ 3050b, read & size 1.00 1.01 1.00 0.46 0.78 374 READ bin 595K, gets 1.00 1.52 1.24 0.64 1.18 375 READ bin 595K, read 1.00 0.99 1.11 18.29 19.81 376 READ bin 595K, read & size 1.00 0.99 1.11 1.45 19.73 377 READ bin 3050b, gets 1.00 1.49 1.23 0.68 1.20 378 READ bin 3050b, read 1.00 1.05 1.00 1.19 1.86 379 READ bin 3050b, read & size 1.00 1.01 0.97 1.12 1.76 380 SHA sha1 msg len 10 1.00 1.17 1.11 1.22 -=- 381 SHA sha1 msg len 100 1.00 1.21 1.14 1.26 -=- 382 SHA sha1 msg len 1000 1.00 1.21 1.16 1.29 -=- 383 SHA sha1 msg len 10000 1.00 1.24 1.18 1.30 -=- 384 SHA sha1DF msg len 10 1.00 1.77 1.63 1.44 -=- 385 SHA sha1DF msg len 100 1.00 1.79 1.65 1.46 -=- 386 SHA sha1DF msg len 1000 1.00 1.82 1.68 1.49 -=- 387 SHA sha1DF msg len 10000 1.00 1.82 1.69 1.49 -=- 388 STARTUP time to launch tclsh 1.00 0.86 0.89 0.92 0.45 389 STR append 1.00 0.78 0.74 0.58 4.92 390 STR append (1KB + 1KB) 1.00 1.63 1.58 1.26 7.84 391 STR append (1MB + (1b + 1K + 1b) * 100) 1.00 1.97 1.97 1.97 14.51 392 STR append (1MB + 1KB * 20) 1.00 2.10 2.12 2.13 16.01 393 STR append (1MB + 1KB * 1000) 1.00 1.73 1.68 1.64 10.93 394 STR append (1MB + 1KB) 1.00 2.15 2.18 2.19 16.45 395 STR append (1MB + 1MB * 3) 1.00 1.25 1.23 1.25 10.92 396 STR append (1MB + 1MB * 5) 1.00 2.01 2.00 2.02 11.52 397 STR append (1MB + 2b * 1000) 1.00 2.38 2.33 2.31 14.98 398 STR append (10KB + 1KB) 1.00 2.00 1.89 1.76 14.44 399 STR first (failure) 1.00 0.83 0.79 0.79 4.50 400 STR first (failure) utf 1.00 3.17 3.07 0.74 4.48 401 STR first (success) 1.00 1.50 1.17 1.00 25.17 402 STR first (success) utf 1.00 1.67 1.50 1.00 25.17 403 STR first (total failure) 1.00 0.44 0.42 0.42 5.03 404 STR first (total failure) utf 1.00 0.51 0.46 0.43 5.11 405 STR index 0 1.00 1.67 1.50 1.17 29.50 406 STR index 100 1.00 1.67 1.50 1.17 29.50 407 STR index 500 1.00 1.67 1.50 1.17 29.50 408 STR info locals match 1.00 1.18 1.15 1.10 3.26 409 STR last (failure) 1.00 1.14 1.11 0.88 3.38 410 STR last (success) 1.00 22.00 21.83 1.00 32.00 411 STR last (total failure) 1.00 1.19 1.16 0.81 4.19 412 STR length (==4010) 1.00 1.50 1.50 1.25 44.25 413 STR length of a LIST 1.00 1.50 1.25 1.25 43.00 414 STR length static str 1.00 1.50 1.25 1.25 5.00 415 STR match, complex (failure) 1.00 7.28 7.28 3.08 4.69 416 STR match, complex (success early) 1.00 2.60 2.40 1.60 29.60 417 STR match, complex (success late) 1.00 6.31 6.30 2.66 4.03 418 STR match, complex (total failure) 1.00 8.79 8.79 3.73 5.67 419 STR match, exact (failure) 1.00 1.67 1.33 1.33 2.33 420 STR match, exact (success) 1.00 2.00 1.67 1.33 2.33 421 STR match, exact -nocase (failure) 1.00 1.50 1.25 ERR ERR 422 STR match, exact -nocase (success) 1.00 1.14 1.00 ERR ERR 423 STR match, simple (failure) 1.00 1.25 1.00 1.00 2.25 424 STR match, simple (success) 1.00 1.25 1.00 1.00 2.50 425 STR range, index 100..200 of 4010 1.00 1.22 1.11 0.78 20.22 426 STR repeat, 4010 chars * 10 1.00 1.01 2.03 2.45 20.41 427 STR repeat, 4010 chars * 100 1.00 0.94 2.09 2.14 9.29 428 STR repeat, abcdefghij * 10 1.00 1.00 1.38 5.38 20.38 429 STR repeat, abcdefghij * 100 1.00 1.04 1.88 13.23 51.42 430 STR repeat, abcdefghij * 1000 1.00 1.02 1.95 16.03 63.11 431 STR replace, equal replacement 1.00 4.66 4.61 0.68 10.55 432 STR replace, longer replacement 1.00 4.42 4.38 0.65 10.03 433 STR replace, no replacement 1.00 4.76 4.76 0.70 10.81 434 STR reverse iter/append, 10 c 1.00 1.89 1.80 1.39 3.83 435 STR reverse iter/append, 10 uc 1.00 1.98 1.84 1.43 4.02 436 STR reverse iter/append, 100 c 1.00 2.28 2.14 1.63 5.42 437 STR reverse iter/append, 100 uc 1.00 2.27 2.13 1.69 5.53 438 STR reverse iter/append, 400 c 1.00 2.35 2.19 1.67 8.28 439 STR reverse iter/append, 400 uc 1.00 2.34 2.18 1.71 8.49 440 STR reverse iter/set, 10 c 1.00 1.43 1.43 1.18 4.16 441 STR reverse iter/set, 10 uc 1.00 1.51 1.54 1.27 4.44 442 STR reverse iter/set, 100 c 1.00 1.34 1.39 1.15 4.73 443 STR reverse iter/set, 100 uc 1.00 1.32 1.42 1.16 4.79 444 STR reverse iter/set, 400 c 1.00 1.29 1.33 1.08 7.20 445 STR reverse iter/set, 400 uc 1.00 1.30 1.36 1.11 7.34 446 STR reverse recursive, 10 c 1.00 1.26 1.15 0.89 2.78 447 STR reverse recursive, 10 uc 1.00 1.33 1.22 0.94 2.92 448 STR reverse recursive, 100 c 1.00 1.29 1.21 0.94 3.05 449 STR reverse recursive, 100 uc 1.00 1.73 1.65 0.99 3.17 450 STR reverse recursive, 400 c 1.00 1.27 1.19 0.94 8.0+ 451 STR reverse recursive, 400 uc 1.00 2.46 2.41 0.80 8.0+ 452 STR split iter, 4000 uchars 1.00 1.36 1.99 1.71 2.88 453 STR split iter, 4010 chars 1.00 1.36 2.01 1.74 2.88 454 STR split iter, rand 100 c 1.00 1.15 0.92 0.78 -=- 455 STR split iter, rand 1000 c 1.00 1.25 1.44 1.24 -=- 456 STR split iter, rand 10000 c 1.00 1.33 1.94 1.64 -=- 457 STR split, 4000 uchars 1.00 0.70 2.27 1.77 0.62 458 STR split, 4010 chars 1.00 0.69 2.34 1.85 0.62 459 STR split, rand 100 c 1.00 0.91 0.61 0.47 -=- 460 STR split, rand 1000 c 1.00 0.85 1.17 0.90 -=- 461 STR split, rand 10000 c 1.00 0.73 2.29 1.57 -=- 462 STR str $a eq $b 1.00 2.29 2.14 2.00 7.71 463 STR str $a eq $b (same obj) 1.00 2.29 2.14 2.00 7.57 464 STR str $a equal "" 1.00 2.20 2.20 1.60 12.60 465 STR str $a ne $b 1.00 2.43 2.14 2.14 7.00 466 STR str $a ne $b (same obj) 1.00 2.83 2.50 2.33 8.33 467 STR str num == "" 1.00 1.33 1.50 1.33 10.50 468 STR string compare 1.00 1.86 1.57 1.57 3.00 469 STR string compare "" 1.00 1.38 1.38 1.50 4.88 470 STR string compare long 1.00 1.01 0.98 0.98 5.05 471 STR string compare long (same obj) 1.00 26.20 25.80 25.80 132.80 472 STR string compare mixed long 1.00 0.73 0.72 0.71 3.55 473 STR string compare uni long 1.00 1.15 1.14 0.98 5.09 474 STR string equal "" 1.00 1.57 1.57 1.71 5.57 475 STR string equal long (!= len) 1.00 12.91 12.82 12.64 65.91 476 STR string equal long (== len) 1.00 1.35 1.33 1.32 7.21 477 STR string equal long (same obj) 1.00 19.14 18.86 18.86 103.71 478 STR string equal mixed long 1.00 19.29 18.86 18.86 103.29 479 STR string equal uni long 1.00 1.35 1.34 1.17 6.37 480 STR/LIST length, obj shimmer 1.00 1.00 1.00 0.01 0.54 481 SWITCH 1st true 1.00 0.89 0.83 0.78 2.67 482 SWITCH 2nd true 1.00 0.89 0.79 0.74 2.47 483 SWITCH 9th true 1.00 0.86 0.82 0.73 2.18 484 SWITCH default true 1.00 0.83 0.78 0.74 2.13 485 TRACE all set (rwu) 1.00 0.83 0.83 0.78 1.33 486 TRACE no trace set 1.00 0.83 0.83 0.78 1.33 487 TRACE read 1.00 0.83 0.83 0.72 1.28 488 TRACE unset 1.00 0.83 0.83 0.78 1.28 489 TRACE write 1.00 0.83 0.83 0.72 1.33 490 UNSET catch var !exist 1.00 1.06 1.03 0.91 0.62 491 UNSET catch var exists 1.00 1.00 1.00 1.00 2.40 492 UNSET info check var !exist 1.00 0.83 0.83 0.83 2.17 493 UNSET info check var exists 1.00 1.00 0.88 0.88 1.88 494 UNSET nocomplain var !exist 1.00 7.20 6.80 6.00 4.40 495 UNSET nocomplain var exists 1.00 1.00 1.00 1.00 2.60 496 UNSET var exists 1.00 1.25 1.00 1.00 1.75 497 VAR 'array set' of 100 elems 1.00 1.59 1.63 1.44 2.52 498 VAR 100 'set's in array 1.00 1.16 1.13 1.14 3.31 499 VAR access global 1.00 2.29 2.00 1.71 3.00 500 VAR access local proc arg 1.00 1.25 1.25 1.25 4.75 501 VAR access locally set 1.00 1.25 1.25 1.25 4.50 502 VAR access upvar 1.00 2.25 2.12 1.88 2.88 503 VAR mset 1.00 1.60 1.40 1.40 5.50 504 VAR mset (foreach) 1.00 1.33 1.17 1.17 5.00 505 VAR ref absolute 1.00 5.34 5.41 4.34 8.0+ 506 VAR ref local 1.00 2.19 2.13 1.97 8.0+ 507 VAR ref variable 1.00 4.66 4.57 3.94 8.0+ 508 VAR set array element 1.00 1.14 0.86 0.86 1.29 509 VAR set scalar 1.00 1.00 1.00 1.00 2.67 510 WORDCOUNT wc1 1.00 1.08 1.05 0.40 0.65 511 WORDCOUNT wc2 1.00 2.24 2.24 0.86 1.31 512 WORDCOUNT wc3 1.00 2.32 2.33 0.83 1.03 512 BENCHMARKS 1:8.4.0 2:8.3.4 3:8.2.3 4:8.0.5 5:7.6p2 FINISHED 2002-09-10 23:37:05 ---- [Category Performance]