TCL_INTERP: 1:8.4a4 2:8.4a4 STARTED 2001-08-27 23:36:47 (runbench.tcl v1.11) Benchmark 1:8.4a4 /CVS/tcl_SF_clean/unix/tclsh bbccdeefhkllmmmmprrssstuvw 00:04:11 elapsed Benchmark 2:8.4a4 /CVS/tcl_455151/unix/tclsh bbccdeefhkllmmmmprrssstuvw 00:04:10 elapsed 000 VERSIONS: 1:8.4a4 2:8.4a4 001 BASE64 decode 10 404 403 002 BASE64 decode 100 3230 3197 003 BASE64 decode 1000 31424 31002 004 BASE64 decode 10000 314784 311368 005 BASE64 decode2 10 439 375 006 BASE64 decode2 100 3083 3056 007 BASE64 decode2 1000 31733 30437 008 BASE64 decode2 10000 300530 298094 009 BASE64 encode 10 289 291 010 BASE64 encode 100 2374 2405 011 BASE64 encode 1000 23665 23374 012 BASE64 encode 10000 233310 235119 013 BASE64 encode2 10 262 266 014 BASE64 encode2 100 2103 2382 015 BASE64 encode2 1000 20875 21045 016 BASE64 encode2 10000 207169 209608 017 BIN bitset-v1 1000 chars 12735 12613 018 BIN bitset-v1 5000 chars 61574 61688 019 BIN bitset-v1 10000 chars 123284 123447 020 BIN bitset-v2 1000 chars 6112 5963 021 BIN bitset-v2 5000 chars 31039 30703 022 BIN bitset-v2 10000 chars 63476 63060 023 BIN bitset-v3 1000 chars 2086 2090 024 BIN bitset-v3 5000 chars 11974 11981 025 BIN bitset-v3 10000 chars 27298 27205 026 BIN c scan, 1000b 326 325 027 BIN c scan, 5000b 1691 1697 028 BIN c scan, 10000b 4590 4600 029 CATCH no catch used 3 3 030 CATCH return error 27 27 031 CATCH return ok 3 3 032 DATA access in a list 1414 1362 033 DATA access in an array 2056 2003 034 DATA create in a list 945 973 035 DATA create in an array 2579 2498 036 EVAL cmd and mixed lists 1242 1484 037 EVAL cmd eval as list 9 9 038 EVAL cmd eval as string 21 22 039 EVAL cmd eval in list obj var 10 10 040 EVAL list cmd and mixed lists 1236 1510 041 EVAL list cmd and pure lists 97 97 042 EXPR braced 11 11 043 EXPR fifty operands 20 19 044 EXPR incr with expr 3 3 045 EXPR incr with incr 4 4 046 EXPR inline 12 12 047 EXPR one operand 3 3 048 EXPR ten operands 6 6 049 EXPR unbraced 75 80 050 FCOPY binary: 160K 6359 6380 051 FCOPY encoding: 160K 23404 23188 052 FCOPY std: 160K 6445 6494 053 HEAPSORT size 10 498 497 054 HEAPSORT size 50 3480 3448 055 HEAPSORT size 100 7885 7823 056 IF else true al 17 16 057 IF else true numeric 7 7 058 IF elseif true al 16 16 059 IF elseif true numeric 8 8 060 IF if false al/al 11 11 061 IF if false al/num 9 9 062 IF if false num/num 6 6 063 IF if true al 11 11 064 IF if true al/al 11 11 065 IF if true num/num 6 6 066 IF if true numeric 6 6 067 IF multi 1st true 6 6 068 IF multi 2nd true 7 7 069 IF multi 9th true 15 15 070 IF multi default true 15 15 071 KLIST shuffle0 llength 1 46 46 072 KLIST shuffle0 llength 10 128 138 073 KLIST shuffle0 llength 100 1060 1029 074 KLIST shuffle0 llength 1000 11625 11515 075 KLIST shuffle0 llength 10000 185158 184034 076 KLIST shuffle1-s llength 1 38 38 077 KLIST shuffle1-s llength 10 178 173 078 KLIST shuffle1-s llength 100 2430 2408 079 KLIST shuffle1-s llength 1000 92259 92397 080 KLIST shuffle1a llength 1 45 44 081 KLIST shuffle1a llength 10 196 194 082 KLIST shuffle1a llength 100 1864 1813 083 KLIST shuffle1a llength 1000 18685 18272 084 KLIST shuffle1a llength 10000 193028 188615 085 KLIST shuffle2 llength 1 42 42 086 KLIST shuffle2 llength 10 218 218 087 KLIST shuffle2 llength 100 2060 2034 088 KLIST shuffle2 llength 1000 20861 21000 089 KLIST shuffle2 llength 10000 241484 242878 090 KLIST shuffle3 llength 1 34 34 091 KLIST shuffle3 llength 10 146 144 092 KLIST shuffle3 llength 100 1350 1341 093 KLIST shuffle3 llength 1000 15866 15583 094 KLIST shuffle3 llength 10000 407577 405191 095 KLIST shuffle4 llength 1 36 41 096 KLIST shuffle4 llength 10 156 152 097 KLIST shuffle4 llength 100 1457 1394 098 KLIST shuffle4 llength 1000 14242 13898 099 KLIST shuffle4 llength 10000 147995 144804 100 KLIST shuffle5-s llength 1 17 18 101 KLIST shuffle5-s llength 10 120 119 102 KLIST shuffle5-s llength 100 1366 1319 103 KLIST shuffle5-s llength 1000 33046 33011 104 KLIST shuffle5a llength 1 21 20 105 KLIST shuffle5a llength 10 129 124 106 KLIST shuffle5a llength 100 1231 1148 107 KLIST shuffle5a llength 1000 14370 13902 108 KLIST shuffle5a llength 10000 389763 385894 109 LIST append to list 294 300 110 LIST exact search, first item 7 6 111 LIST exact search, last item 31 31 112 LIST exact search, middle item 13 14 113 LIST exact search, non-item 83 84 114 LIST exact search, typed item 21 21 115 LIST exact search, untyped item 31 32 116 LIST index first element 5 5 117 LIST index last element 5 5 118 LIST index middle element 5 5 119 LIST insert an item at "end" 42 42 120 LIST insert an item at middle 52 52 121 LIST insert an item at start 53 53 122 LIST iterate list 2104 2116 123 LIST join list 529 533 124 LIST large, early range 13 13 125 LIST large, late range 13 14 126 LIST length, pure list 5 4 127 LIST remove first element 52 57 128 LIST remove in mixed list 60 55 129 LIST remove last element 50 51 130 LIST remove middle element 52 52 131 LIST replace first el with multiple 55 55 132 LIST replace first element 43 42 133 LIST replace in mixed list 46 47 134 LIST replace last el with multiple 44 44 135 LIST replace last element 42 43 136 LIST replace middle el with multiple 49 50 137 LIST replace middle element 49 43 138 LIST replace range 51 51 139 LIST small, early range 9 9 140 LIST small, late range 9 9 141 LIST sort 1301 1305 142 LIST sorted search, first item 7 8 143 LIST sorted search, last item 7 8 144 LIST sorted search, middle item 7 7 145 LIST sorted search, non-item 8 7 146 LIST sorted search, typed item 7 7 147 LIST typed sort 1133 1132 148 LOOP for (to 1000) 1465 1470 149 LOOP for, iterate list 1902 1887 150 LOOP for, iterate string 2674 2689 151 LOOP foreach, iterate list 1113 1119 152 LOOP foreach, iterate string 1323 1336 153 LOOP while (to 1000) 1463 1467 154 MAP regsub -nocase, no match 689 670 155 MAP regsub 1 val 2256 2282 156 MAP regsub 1 val -nocase 2286 2271 157 MAP regsub 2 val 10249 10228 158 MAP regsub 2 val -nocase 10247 10275 159 MAP regsub 3 val 13762 13774 160 MAP regsub 3 val -nocase 13723 13734 161 MAP regsub 4 val 17198 17257 162 MAP regsub 4 val -nocase 17179 17228 163 MAP regsub short 97 97 164 MAP regsub, no match 669 687 165 MAP string -nocase, no match 2627 2588 166 MAP string 1 val 289 286 167 MAP string 1 val -nocase 1345 1344 168 MAP string 2 val 896 788 169 MAP string 2 val -nocase 2582 2556 170 MAP string 3 val 1010 965 171 MAP string 3 val -nocase 3737 3751 172 MAP string 4 val 1238 1213 173 MAP string 4 val -nocase 4457 4450 174 MAP string short 16 15 175 MAP string, no match 480 482 176 MATRIX mult 5x5 450 452 177 MATRIX mult 10x10 2888 2879 178 MATRIX mult 15x15 9149 9170 179 MATRIX transposition-0 3638 3725 180 MATRIX transposition-1 2746 2839 181 MD5 msg len 10 1315 1310 182 MD5 msg len 100 2367 2474 183 MD5 msg len 1000 17051 16760 184 MD5 msg len 10000 171490 165185 185 MTHD array stored proc call 5 5 186 MTHD direct ns proc call 3 3 187 MTHD imported ns proc call 3 3 188 MTHD indirect proc eval 13 14 189 MTHD indirect proc eval #2 21 23 190 MTHD inline call 1 1 191 MTHD interp alias proc call 10 9 192 MTHD ns lookup call 39 39 193 MTHD switch method call 19 32 194 PROC do-nothing, no args 2 2 195 PROC do-nothing, one arg 3 2 196 PROC explicit return 3 2 197 PROC explicit return (2) 2 3 198 PROC explicit return (3) 2 2 199 PROC heavily commented 2 2 200 PROC implicit return 3 3 201 PROC implicit return (2) 3 3 202 PROC implicit return (3) 2 2 203 PROC local links with global 450 442 204 PROC local links with upvar 406 402 205 PROC local links with variable 400 391 206 RE 1-char long-end 51 51 207 RE 1-char long-end catching 88 88 208 RE 1-char long-middle 32 37 209 RE 1-char long-middle catching 69 69 210 RE 1-char long-start 14 14 211 RE 1-char long-start catching 51 50 212 RE 1-char short 15 14 213 RE 1-char short catching 51 50 214 RE basic 12 13 215 RE basic catching 55 56 216 RE c-comment long 61 61 217 RE c-comment long catching 169 168 218 RE c-comment long nomatch 98 91 219 RE c-comment long nomatch catching 91 91 220 RE c-comment long pmatch 99 99 221 RE c-comment long pmatch catching 100 104 222 RE c-comment many *s 102 103 223 RE c-comment many *s catching 275 276 224 RE c-comment nomatch 18 18 225 RE c-comment nomatch catching 18 18 226 RE c-comment simple 31 31 227 RE c-comment simple catching 119 124 228 RE count all matches 93 92 229 RE extract all matches 109 108 230 RE literal regexp 21 21 231 RE n-char long-end 51 51 232 RE n-char long-end catching 97 97 233 RE n-char long-middle 38 33 234 RE n-char long-middle catching 78 78 235 RE n-char long-start 15 15 236 RE n-char long-start catching 59 60 237 RE n-char short 15 15 238 RE n-char short catching 58 59 239 RE var-based regexp 22 22 240 READ 595K, gets 166089 164922 241 READ 595K, read 37079 37151 242 READ 595K, read & dyn buffer 39007 38648 243 READ 595K, read & size 37085 37056 244 READ 595K, read & small buffer 158430 153100 245 READ 3050b, gets 888 908 246 READ 3050b, read 224 223 247 READ 3050b, read & dyn buffer 249 251 248 READ 3050b, read & size 242 243 249 READ 3050b, read & small buffer 832 811 250 READ bin 595K, gets 173066 171441 251 READ bin 595K, read 11459 11066 252 READ bin 595K, read & dyn buffer 12605 12564 253 READ bin 595K, read & size 11487 11089 254 READ bin 595K, read & small buffer 124402 124077 255 READ bin 3050b, gets 948 940 256 READ bin 3050b, read 90 88 257 READ bin 3050b, read & dyn buffer 112 112 258 READ bin 3050b, read & size 97 108 259 READ bin 3050b, read & small buffer 679 673 260 SHA sha1 msg len 10 3385 3319 261 SHA sha1 msg len 100 6323 6177 262 SHA sha1 msg len 1000 48161 46652 263 SHA sha1 msg len 10000 467242 455128 264 SHA sha1DF msg len 10 1509 1440 265 SHA sha1DF msg len 100 2765 2772 266 SHA sha1DF msg len 1000 21329 21393 267 SHA sha1DF msg len 10000 210542 211595 268 STARTUP time to launch tclsh 9652 9642 269 STR append 30 30 270 STR append (1KB + 1KB) 19 19 271 STR append (1MB + (1b + 1K + 1b) * 100) 8183 7946 272 STR append (1MB + 1KB * 20) 6835 6781 273 STR append (1MB + 1KB * 1000) 14859 15037 274 STR append (1MB + 1KB) 6701 6656 275 STR append (1MB + 1MB * 3) 28313 27860 276 STR append (1MB + 1MB * 5) 35048 35042 277 STR append (1MB + 2b * 1000) 8564 8528 278 STR append (10KB + 1KB) 31 25 279 STR first (failure) 65 65 280 STR first (success) 7 7 281 STR first (total failure) 56 60 282 STR index 0 9 8 283 STR index 100 8 9 284 STR index 500 9 8 285 STR info locals match 389 392 286 STR last (failure) 54 54 287 STR last (success) 6 6 288 STR last (total failure) 40 40 289 STR length (==4010) 5 5 290 STR length of a LIST 5 5 291 STR length static str 3 3 292 STR match, complex (failure) 62 62 293 STR match, complex (success early) 8 7 294 STR match, complex (success late) 82 76 295 STR match, complex (total failure) 47 47 296 STR match, simple (failure) 6 6 297 STR match, simple (success early) 6 6 298 STR match, simple (success late) 7 6 299 STR match, simple (total failure) 6 6 300 STR range, index 100..200 of 4010 10 10 301 STR repeat, 4010 chars * 10 52 53 302 STR repeat, 4010 chars * 100 1642 1677 303 STR repeat, abcdefghij * 10 7 7 304 STR repeat, abcdefghij * 100 29 24 305 STR repeat, abcdefghij * 1000 191 198 306 STR replace, equal replacement 26 26 307 STR replace, longer replacement 27 37 308 STR replace, no replacement 25 26 309 STR reverse iter/append, 10 c 39 38 310 STR reverse iter/append, 10 uc 39 38 311 STR reverse iter/append, 100 c 265 260 312 STR reverse iter/append, 100 uc 264 259 313 STR reverse iter/append, 400 c 1015 1012 314 STR reverse iter/append, 400 uc 1006 997 315 STR reverse iter/set, 10 c 43 44 316 STR reverse iter/set, 10 uc 44 43 317 STR reverse iter/set, 100 c 375 360 318 STR reverse iter/set, 100 uc 371 362 319 STR reverse iter/set, 400 c 1504 1492 320 STR reverse iter/set, 400 uc 1513 1499 321 STR reverse recursive, 10 c 106 104 322 STR reverse recursive, 10 uc 94 93 323 STR reverse recursive, 100 c 985 954 324 STR reverse recursive, 100 uc 917 910 325 STR reverse recursive, 400 c 5338 5335 326 STR reverse recursive, 400 uc 6322 6346 327 STR split iter, 4000 uchars 5530 5545 328 STR split iter, 4010 chars 5522 5514 329 STR split iter, rand 100 c 265 266 330 STR split iter, rand 1000 c 1774 1751 331 STR split iter, rand 10000 c 14604 14561 332 STR split, 4000 uchars 1115 1116 333 STR split, 4010 chars 1051 1053 334 STR split, rand 100 c 151 151 335 STR split, rand 1000 c 659 645 336 STR split, rand 10000 c 3296 3340 337 STR str $a eq $b 10 10 338 STR str $a eq $b (same obj) 9 9 339 STR str $a equal "" 7 7 340 STR str $a ne $b 10 10 341 STR str $a ne $b (same obj) 9 9 342 STR str num == "" 7 7 343 STR string compare 10 10 344 STR string compare "" 9 8 345 STR string compare long 221 214 346 STR string compare mixed long 490 489 347 STR string compare uni long 213 220 348 STR string equal "" 7 7 349 STR/LIST length, obj shimmer 1106 1089 350 SWITCH 1st true 15 14 351 SWITCH 2nd true 15 15 352 SWITCH 9th true 17 17 353 SWITCH default true 18 18 354 TRACE all set (rwu) 14 14 355 TRACE no trace set 14 15 356 TRACE read 14 15 357 TRACE unset 14 14 358 TRACE write 14 15 359 UNSET catch var !exist 35 30 360 UNSET catch var exists 5 5 361 UNSET info check var !exist 5 5 362 UNSET info check var exists 7 7 363 UNSET nocomplain var !exist 4 4 364 UNSET nocomplain var exists 5 5 365 UNSET var exists 5 5 366 VAR 'array set' of 100 elems 158 161 367 VAR 100 'set's in array 78 78 368 VAR access global 15 15 369 VAR access local proc arg 5 5 370 VAR access locally set 5 5 371 VAR access upvar 17 16 372 VAR set array element 7 7 373 VAR set scalar 3 3 374 WORDCOUNT wc1 2615 2625 375 WORDCOUNT wc2 666 680 376 WORDCOUNT wc3 605 606 376 BENCHMARKS 1:8.4a4 2:8.4a4 FINISHED 2001-08-27 23:45:08