$tree column configure 0 -tag thumbnailこんな風にカラムの番号にタグを付けてた最初の初期化処理のとこを
$tree column create -tag thumbnailみたいに修正。。。変更点どこかにまとめてないかなあ。
package require Tk wm attribute . -alpha 0.5
微妙にwishの起動が速くなっていたので、tclbenchでベンチマークを取ってみた(w2k)。1と2はそれぞれのバージョンのActiveTclのバイナリで、3はVC7.1でPentium3用に最大限に最適化したやつ。
000 VERSIONS: 1:8.4.7 2:8.4.8 3:8.4.8 001 BASE64 decode 10 355 369 246 002 BASE64 decode 100 2808 2939 1934 003 BASE64 decode 1000 27796 29448 19069 004 BASE64 decode 10000 276114 288047 191479 005 BASE64 decode2 10 357 363 243 006 BASE64 decode2 100 2779 2908 1900 007 BASE64 decode2 1000 27461 28727 18331 008 BASE64 decode2 10000 278251 287473 185838 009 BASE64 decode3 10 156 163 107 010 BASE64 decode3 100 1048 1122 719 011 BASE64 decode3 1000 10663 10486 6661 012 BASE64 decode3 10000 101398 107098 69788 013 BASE64 encode 10 218 232 143 014 BASE64 encode 100 1696 1812 1068 015 BASE64 encode 1000 16363 17623 10377 016 BASE64 encode 10000 170114 182659 104571 017 BASE64 encode2 10 206 205 133 018 BASE64 encode2 100 1518 1568 934 019 BASE64 encode2 1000 14835 15854 9081 020 BASE64 encode2 10000 149845 155865 93650 021 BASE64 encode3 10 113 120 76 022 BASE64 encode3 100 510 556 308 023 BASE64 encode3 1000 4408 4784 2561 024 BASE64 encode3 10000 44927 47413 26187 025 BIN bitset-v1 1000 chars 13108 14695 9364 026 BIN bitset-v1 5000 chars 63684 71493 46507 027 BIN bitset-v1 10000 chars 125838 141569 93078 028 BIN bitset-v2 1000 chars 7232 7903 5333 029 BIN bitset-v2 5000 chars 35731 38777 25796 030 BIN bitset-v2 10000 chars 70568 76366 52079 031 BIN bitset-v3 1000 chars 1981 2144 1239 032 BIN bitset-v3 5000 chars 9823 10188 6392 033 BIN bitset-v3 10000 chars 22104 23052 14188 034 BIN c scan, 1000b 639 630 420 035 BIN c scan, 5000b 1921 1934 1295 036 BIN c scan, 10000b 3654 3879 2348 037 CATCH error, complex 27 27 19 038 CATCH no catch used 8 8 5 039 CATCH return error 26 42 19 040 CATCH return except 8 8 5 041 CATCH return ok 8 8 5 042 DATA access in a list 632 630 352 043 DATA access in an array 1293 1297 850 044 DATA create in a list 573 574 316 045 DATA create in an array 2418 2442 1644 046 ENC iso2022-jp, gets 4609 4158 4092 047 ENC iso2022-jp, read 3963 4428 4019 048 ENC iso2022-jp, read & size 4253 6531 4270 049 ENC iso8859-2, gets 4124 4101 4073 050 ENC iso8859-2, read 4003 3923 3977 051 ENC iso8859-2, read & size 4260 4197 4236 052 EVAL cmd and mixed lists 2281 2235 1716 053 EVAL cmd eval as list 9 10 6 054 EVAL cmd eval as string 22 22 16 055 EVAL cmd eval in list obj var 9 10 6 056 EVAL list cmd and mixed lists 3069 3070 1714 057 EVAL list cmd and pure lists 161 162 77 058 EXPR $a != $b int 6 6 3 059 EXPR $a != $b str (!= len) 17 17 13 060 EXPR $a != $b str (== len) 21 22 15 061 EXPR $a == $b int 6 6 4 062 EXPR $a == $b str (!= len) 17 17 13 063 EXPR $a == $b str (== len) 21 22 15 064 EXPR braced 12 13 8 065 EXPR fifty operands 18 18 11 066 EXPR incr with expr 4 4 3 067 EXPR incr with incr 4 5 2 068 EXPR inline 14 13 9 069 EXPR one operand 4 4 2 070 EXPR ten operands 6 6 4 071 EXPR unbraced 97 98 72 072 FCOPY binary: 164K 27731 27700 16798 073 FCOPY encoding: 164K 40289 40855 29762 074 FCOPY std: 164K 28180 27440 18947 075 FILE exec interp 54399 52610 49537 076 FILE exec interp: pkg require 711043 511420 491932 077 FILE exists tmpfile (obj) 148 290 144 078 FILE exists ~ 156 156 151 079 FILE exists! tmpfile (obj) 152 146 144 080 FILE exists! tmpfile (str) 1751 1724 1732 081 FILE glob tmpdir (60 entries) 16276 16144 16088 082 FILE glob / all subcommands 369799 365551 361689 083 FILE glob / atime 39201 39222 38425 084 FILE glob / attributes 234857 234832 233285 085 FILE glob / dirname 18863 18403 17873 086 FILE glob / executable 36592 36758 36044 087 FILE glob / exists 37208 36788 36443 088 FILE glob / extension 16728 16933 16561 089 FILE glob / isdirectory 39274 39053 38287 090 FILE glob / isfile 39467 39011 38313 091 FILE glob / mtime 38519 38288 37506 092 FILE glob / owned 39241 39212 38361 093 FILE glob / readable 37270 36798 36502 094 FILE glob / rootname 16735 16936 16487 095 FILE glob / size 39354 39032 38332 096 FILE glob / tail 17218 17382 16901 097 FILE glob / writable 37322 36960 36439 098 FILE recurse / -dir 160924 158791 157565 099 FILE recurse / cd 584367 578668 586293 100 GCCont_cpb::cGCC 50 242 259 162 101 GCCont_cpb::cGCC 500 1011 1025 582 102 GCCont_cpb::cGCC 5000 9024 8799 4873 103 GCCont_cpbre1::cGCC 50 431 435 214 104 GCCont_cpbre1::cGCC 500 3092 3192 1441 105 GCCont_cpbre1::cGCC 5000 30270 29703 13684 106 GCCont_cpbre2::cGCC 50 359 363 174 107 GCCont_cpbre2::cGCC 500 2760 2858 1304 108 GCCont_cpbre2::cGCC 5000 27144 26786 12488 109 GCCont_cpbrs2::cGCC 50 92 95 62 110 GCCont_cpbrs2::cGCC 500 369 369 220 111 GCCont_cpbrs2::cGCC 5000 3057 2941 1731 112 GCCont_cpbrs::cGCC1 50 158 160 96 113 GCCont_cpbrs::cGCC1 500 450 486 264 114 GCCont_cpbrs::cGCC1 5000 3404 3231 2026 115 GCCont_cpbrs::cGCC2 50 137 154 85 116 GCCont_cpbrs::cGCC2 500 423 424 244 117 GCCont_cpbrs::cGCC2 5000 3242 3179 1757 118 GCCont_cpbrs_trap::cGCC 50 390 388 199 119 GCCont_cpbrs_trap::cGCC 500 2917 2923 1387 120 GCCont_cpbrs_trap::cGCC 5000 28257 28666 13053 121 GCCont_expr::cGCC 50 207 213 162 122 GCCont_expr::cGCC 500 2336 2376 1957 123 GCCont_expr::cGCC 5000 172371 174495 163695 124 GCCont_i::cGCC1 50 367 420 243 125 GCCont_i::cGCC1 500 3352 3905 2251 126 GCCont_i::cGCC1 5000 33699 38848 22290 127 GCCont_i::cGCC2 50 126 130 77 128 GCCont_i::cGCC2 500 953 954 552 129 GCCont_i::cGCC2 5000 9204 9549 5088 130 GCCont_i::cGCC3 50 114 113 70 131 GCCont_i::cGCC3 500 777 786 448 132 GCCont_i::cGCC3 5000 7955 8076 4518 133 GCCont_r1::cGCC 50 526 556 341 134 GCCont_r1::cGCC 500 5127 5380 3391 135 GCCont_r1::cGCC 5000 50991 53864 34288 136 GCCont_r2::cGCC 50 424 479 295 137 GCCont_r2::cGCC 500 4025 4609 2668 138 GCCont_r2::cGCC 5000 42470 43887 26580 139 GCCont_r3::cGCC 50 446 475 281 140 GCCont_r3::cGCC 500 4024 4473 2676 141 GCCont_r3::cGCC 5000 40757 44876 26792 142 GCCont_rsf1::cGCC 50 170 159 100 143 GCCont_rsf1::cGCC 500 986 966 557 144 GCCont_rsf1::cGCC 5000 9485 8831 5380 145 GCCont_rsf2::cGCC1 50 112 114 72 146 GCCont_rsf2::cGCC1 500 557 562 339 147 GCCont_rsf2::cGCC1 5000 5076 4791 2716 148 GCCont_rsf2::cGCC2 50 94 97 61 149 GCCont_rsf2::cGCC2 500 540 512 296 150 GCCont_rsf2::cGCC2 5000 5023 4773 2587 151 GCCont_rsf3::cGCC 50 96 98 63 152 GCCont_rsf3::cGCC 500 515 545 297 153 GCCont_rsf3::cGCC 5000 4704 4519 2577 154 GCCont_turing::cGCC 50 84 86 55 155 GCCont_turing::cGCC 500 393 403 235 156 GCCont_turing::cGCC 5000 4043 3773 2477 157 HEAPSORT size 10 326 339 179 158 HEAPSORT size 50 2534 2697 1547 159 HEAPSORT size 100 6180 6611 3758 160 HEAPSORT2 size 10 240 239 136 161 HEAPSORT2 size 50 1951 1957 1107 162 HEAPSORT2 size 100 4662 4565 2594 163 IF 1/0 check 4 5 3 164 IF else true al 14 16 13 165 IF else true numeric 6 9 12 166 IF elseif true al 11 15 11 167 IF elseif true numeric 7 7 4 168 IF if false al/al 10 11 8 169 IF if false al/num 8 10 6 170 IF if false num/num 6 6 3 171 IF if true al 5 9 6 172 IF if true al/al 6 10 6 173 IF if true num/num 6 6 3 174 IF if true numeric 6 6 3 175 IF multi 1st true 6 6 4 176 IF multi 2nd true 6 9 4 177 IF multi 9th true 12 13 7 178 IF multi default true 12 12 7 179 KLIST shuffle0 llength 1 57 42 30 180 KLIST shuffle0 llength 10 103 104 70 181 KLIST shuffle0 llength 100 800 812 549 182 KLIST shuffle0 llength 1000 9685 9938 6449 183 KLIST shuffle0 llength 10000 174935 178818 139863 184 KLIST shuffle1-s llength 1 36 37 25 185 KLIST shuffle1-s llength 10 210 186 107 186 KLIST shuffle1-s llength 100 3078 3206 1461 187 KLIST shuffle1-s llength 1000 183697 187798 90141 188 KLIST shuffle1a llength 1 43 57 28 189 KLIST shuffle1a llength 10 197 207 115 190 KLIST shuffle1a llength 100 1917 1997 1089 191 KLIST shuffle1a llength 1000 18840 19624 11065 192 KLIST shuffle1a llength 10000 198021 199981 114292 193 KLIST shuffle2 llength 1 41 42 26 194 KLIST shuffle2 llength 10 194 200 121 195 KLIST shuffle2 llength 100 1874 1954 1174 196 KLIST shuffle2 llength 1000 20159 21464 12786 197 KLIST shuffle2 llength 10000 262570 279086 190501 198 KLIST shuffle3 llength 1 36 37 28 199 KLIST shuffle3 llength 10 157 162 91 200 KLIST shuffle3 llength 100 1515 1466 848 201 KLIST shuffle3 llength 1000 18647 15432 9206 202 KLIST shuffle3 llength 10000 578476 256537 192414 203 KLIST shuffle4 llength 1 38 38 26 204 KLIST shuffle4 llength 10 163 166 93 205 KLIST shuffle4 llength 100 1555 1534 844 206 KLIST shuffle4 llength 1000 15016 14974 8440 207 KLIST shuffle4 llength 10000 159239 158712 90817 208 KLIST shuffle5-s llength 1 17 18 10 209 KLIST shuffle5-s llength 10 122 129 71 210 KLIST shuffle5-s llength 100 1604 1549 793 211 KLIST shuffle5-s llength 1000 58885 56968 28394 212 KLIST shuffle5a llength 1 20 23 12 213 KLIST shuffle5a llength 10 125 133 72 214 KLIST shuffle5a llength 100 1169 1274 690 215 KLIST shuffle5a llength 1000 15448 13115 7718 216 KLIST shuffle5a llength 10000 568422 235733 177024 217 KLIST shuffle6 llength 1 6 6 3 218 KLIST shuffle6 llength 10 55 59 31 219 KLIST shuffle6 llength 100 488 475 267 220 KLIST shuffle6 llength 1000 4862 4897 2759 221 KLIST shuffle6 llength 10000 55868 52581 32369 222 LIST append to list 7 8 5 223 LIST concat APPEND 2x10 43 45 39 224 LIST concat APPEND 2x100 300 301 314 225 LIST concat APPEND 2x1000 3468 3395 3278 226 LIST concat APPEND 2x10000 46447 47092 44340 227 LIST concat CONCAT 2x10 15 15 9 228 LIST concat CONCAT 2x100 26 27 12 229 LIST concat CONCAT 2x1000 142 146 50 230 LIST concat CONCAT 2x10000 1340 1411 426 231 LIST concat EVAL/LAPPEND 2x10 23 24 15 232 LIST concat EVAL/LAPPEND 2x100 44 43 24 233 LIST concat EVAL/LAPPEND 2x1000 236 219 84 234 LIST concat EVAL/LAPPEND 2x10000 3060 3075 1739 235 LIST concat FOREACH/LAPPEND 2x10 24 24 14 236 LIST concat FOREACH/LAPPEND 2x100 115 110 64 237 LIST concat FOREACH/LAPPEND 2x1000 956 960 545 238 LIST concat FOREACH/LAPPEND 2x10000 10520 10523 6082 239 LIST concat SET 2x10 34 34 32 240 LIST concat SET 2x100 227 231 249 241 LIST concat SET 2x1000 3089 3075 3069 242 LIST concat SET 2x10000 42629 42870 42223 243 LIST exact search, first item 8 8 5 244 LIST exact search, last item 26 42 20 245 LIST exact search, middle item 14 14 9 246 LIST exact search, non-item 67 72 58 247 LIST exact search, typed item 21 23 16 248 LIST exact search, untyped item 26 28 21 249 LIST index first element 7 6 4 250 LIST index last element 7 6 4 251 LIST index middle element 7 6 4 252 LIST insert an item at "end" 86 88 39 253 LIST insert an item at middle 99 88 42 254 LIST insert an item at start 102 88 42 255 LIST iterate list 1408 1389 797 256 LIST join list 439 432 309 257 LIST large, early range 19 20 9 258 LIST large, late range 20 20 9 259 LIST length, pure list 6 6 4 260 LIST list 18 18 10 261 LIST lset foreach l 1703 1742 992 262 LIST lset foreach list 1677 1752 990 263 LIST lset foreach ""s l 429 423 219 264 LIST lset foreach ""s list 426 415 219 265 LIST regexp search, first item 20 20 11 266 LIST regexp search, last item 1281 1275 569 267 LIST regexp search, non-item 2635 2683 1199 268 LIST remove first element 104 90 42 269 LIST remove in mixed list 108 93 48 270 LIST remove last element 102 89 42 271 LIST remove middle element 102 89 44 272 LIST replace first el with multiple 105 91 43 273 LIST replace first element 86 86 39 274 LIST replace in mixed list 107 90 45 275 LIST replace last el with multiple 88 88 40 276 LIST replace last element 89 87 39 277 LIST replace middle el with multiple 101 90 44 278 LIST replace middle element 89 101 42 279 LIST replace range 89 88 40 280 LIST small, early range 10 11 6 281 LIST small, late range 10 11 6 282 LIST sort 1051 1053 625 283 LIST sorted search, first item 9 9 5 284 LIST sorted search, last item 9 9 5 285 LIST sorted search, middle item 9 9 5 286 LIST sorted search, non-item 9 9 5 287 LIST sorted search, typed item 9 9 6 288 LIST typed sort 932 936 737 289 LOOP for (to 1000) 757 774 448 290 LOOP for, iterate list 1223 1192 701 291 LOOP for, iterate string 1939 1858 1434 292 LOOP foreach, iterate list 732 683 398 293 LOOP foreach, iterate string 894 910 522 294 LOOP while (to 1000) 772 759 442 295 LOOP while 1 (to 1000) 711 707 413 296 MAP ([chars])-case regsub 213 209 103 297 MAP http mapReply 142138 142802 74568 298 MAP regsub -nocase, no match 1014 970 529 299 MAP regsub 1 val 635 610 359 300 MAP regsub 1 val -nocase 895 928 528 301 MAP regsub 2 val 1668 1700 1019 302 MAP regsub 2 val -nocase 2237 2272 1523 303 MAP regsub 3 val 2461 2517 1550 304 MAP regsub 3 val -nocase 3297 3380 1975 305 MAP regsub 4 val 3201 3315 1982 306 MAP regsub 4 val -nocase 4282 4409 2618 307 MAP regsub short 25 25 17 308 MAP regsub, no match 304 297 177 309 MAP string -nocase, no match 1926 1886 900 310 MAP string 1 val 584 678 396 311 MAP string 1 val -nocase 915 945 618 312 MAP string 2 val 1169 1201 701 313 MAP string 2 val -nocase 2061 1977 1021 314 MAP string 3 val 1438 1443 846 315 MAP string 3 val -nocase 2571 2568 1286 316 MAP string 4 val 1701 1695 1021 317 MAP string 4 val -nocase 3073 3090 1595 318 MAP string short 19 21 14 319 MAP string, no match 808 847 454 320 MAP |-case regsub 106 107 52 321 MAP |-case strmap 19 21 14 322 MATRIX mult 5x5 357 396 211 323 MATRIX mult 10x10 2333 2333 1338 324 MATRIX mult 15x15 7438 7406 4226 325 MATRIX transposition-0 3505 3569 2323 326 MATRIX transposition-1 2157 2126 1335 327 MD5 msg len 10 1470 1441 818 328 MD5 msg len 100 2383 2539 1430 329 MD5 msg len 1000 17489 19702 10158 330 MD5 msg len 10000 179832 191065 105837 331 MD5-2 msg len 10 508 520 340 332 MD5-2 msg len 100 789 859 510 333 MD5-2 msg len 1000 4819 4919 2867 334 MD5-2 msg len 10000 45373 45324 27020 335 MTHD array stored proc call 6 6 3 336 MTHD call absolute 10 11 7 337 MTHD call relative 15 15 9 338 MTHD direct ns proc call 4 4 2 339 MTHD imported ns proc call 4 4 2 340 MTHD indirect proc eval 13 15 9 341 MTHD indirect proc eval #2 26 23 16 342 MTHD inline call 2 2 1 343 MTHD interp alias proc call 5 5 3 344 MTHD ns lookup call 40 42 29 345 MTHD switch method call 19 22 13 346 PARSE html form upload (7817) 11610 11833 8727 347 PARSE html form upload (973817) 1289840 1317210 839065 348 PROC do-nothing, no args 3 3 2 349 PROC do-nothing, one arg 3 3 2 350 PROC empty, no args 1 1 1 351 PROC empty, use args 1 1 1 352 PROC explicit return 3 4 2 353 PROC explicit return (2) 3 3 2 354 PROC explicit return (3) 3 4 2 355 PROC heavily commented 3 3 2 356 PROC implicit return 4 4 2 357 PROC implicit return (2) 4 4 2 358 PROC implicit return (3) 3 3 2 359 PROC local links with global 483 492 281 360 PROC local links with upvar 441 452 249 361 PROC local links with variable 408 419 245 362 RE 1-char long-end 73 86 33 363 RE 1-char long-end catching 108 108 54 364 RE 1-char long-middle 45 46 21 365 RE 1-char long-middle catching 80 81 42 366 RE 1-char long-start 17 18 10 367 RE 1-char long-start catching 52 53 31 368 RE 1-char short 18 18 19 369 RE 1-char short catching 53 53 30 370 RE basic 17 16 9 371 RE basic catching 57 58 33 372 RE c-comment long 86 87 41 373 RE c-comment long catching 245 248 124 374 RE c-comment long nomatch 131 132 60 375 RE c-comment long nomatch catching 136 135 61 376 RE c-comment long pmatch 159 146 65 377 RE c-comment long pmatch catching 148 161 74 378 RE c-comment many *s 149 164 67 379 RE c-comment many *s catching 434 422 201 380 RE c-comment nomatch 23 23 14 381 RE c-comment nomatch catching 25 26 16 382 RE c-comment simple 42 42 22 383 RE c-comment simple catching 153 154 81 384 RE count all matches 130 128 59 385 RE extract all matches 142 142 72 386 RE literal regexp 27 28 14 387 RE n-char long-end 74 74 34 388 RE n-char long-end catching 120 121 61 389 RE n-char long-middle 46 47 22 390 RE n-char long-middle catching 92 93 49 391 RE n-char long-start 19 19 10 392 RE n-char long-start catching 79 66 36 393 RE n-char short 19 19 10 394 RE n-char short catching 62 63 36 395 RE static anchored match 4 18 2 396 RE static anchored nomatch 4 4 3 397 RE static l-anchored match 4 4 3 398 RE static l-anchored nomatch 4 4 3 399 RE static long match 14 15 10 400 RE static long nomatch 20 21 12 401 RE static r-anchored match 4 5 3 402 RE static r-anchored nomatch 4 5 3 403 RE static short match 4 5 3 404 RE static short nomatch 4 4 3 405 RE var-based regexp 29 29 15 406 READ 605K, gets 163940 169408 99908 407 READ 605K, read 65849 64934 44367 408 READ 605K, read & size 64567 64484 45668 409 READ 3100b, gets 1901 1948 2051 410 READ 3100b, read 1337 1354 1735 411 READ 3100b, read & size 1596 1603 2068 412 READ bin 605K, gets 157866 164981 98726 413 READ bin 605K, read 20194 19921 19150 414 READ bin 605K, read & size 20188 19183 19298 415 READ bin 3100b, gets 1928 1999 1640 416 READ bin 3100b, read 1176 1179 1166 417 READ bin 3100b, read & size 1412 1421 1396 418 SHA sha1 msg len 10 3095 3261 2000 419 SHA sha1 msg len 100 5729 6218 3557 420 SHA sha1 msg len 1000 43215 46441 26973 421 SHA sha1 msg len 10000 431134 467334 259333 422 SHA sha1DF msg len 10 1295 1167 722 423 SHA sha1DF msg len 100 2184 2208 1355 424 SHA sha1DF msg len 1000 17745 17771 10502 425 SHA sha1DF msg len 10000 166121 166114 100418 426 SPLIT iter, 4000 uchars 4012 3884 2323 427 SPLIT iter, 4010 chars 3902 3867 2249 428 SPLIT iter, rand 100 c 251 244 185 429 SPLIT iter, rand 1000 c 1446 1464 951 430 SPLIT iter, rand 10000 c 10729 10771 6792 431 SPLIT on 'c', 4000 uchars 204 206 166 432 SPLIT on 'c', 4010 chars 206 238 161 433 SPLIT on 'c?', 4000 uchars 786 788 578 434 SPLIT on 'c?', 4010 chars 625 598 413 435 SPLIT on 'cz', 4000 uchars 681 680 427 436 SPLIT on 'cz', 4010 chars 683 648 414 437 SPLIT, 4000 uchars 1220 1136 698 438 SPLIT, 4010 chars 1014 1008 666 439 SPLIT, rand 100 c 178 204 143 440 SPLIT, rand 1000 c 737 745 582 441 SPLIT, rand 10000 c 3314 3302 2646 442 STR append 30 46 23 443 STR append (1KB + 1KB) 21 22 12 444 STR append (1MB + (1b + 1K + 1b) * 100) 22654 22652 22044 445 STR append (1MB + 1KB * 20) 21686 21607 21680 446 STR append (1MB + 1KB * 1000) 29730 29851 28928 447 STR append (1MB + 1KB) 21789 21728 21190 448 STR append (1MB + 1MB * 3) 53600 53811 52478 449 STR append (1MB + 1MB * 5) 105474 105510 105395 450 STR append (1MB + 2b * 1000) 22574 22628 21937 451 STR append (10KB + 1KB) 28 29 22 452 STR first (failure) 85 72 31 453 STR first (failure) utf 69 70 31 454 STR first (success) 8 9 5 455 STR first (success) utf 8 9 5 456 STR first (total failure) 63 63 27 457 STR first (total failure) utf 65 63 27 458 STR index 0 9 9 5 459 STR index 100 9 9 5 460 STR index 500 11 9 6 461 STR info locals match 344 350 209 462 STR last (failure) 67 67 42 463 STR last (success) 8 8 5 464 STR last (total failure) 61 71 33 465 STR length (==4010) 6 6 4 466 STR length growing (1000) 1085 1140 674 467 STR length growing uc (1000) 1101 1110 675 468 STR length of a LIST 5 6 3 469 STR length static str 4 4 2 470 STR match, complex (failure) 65 65 42 471 STR match, complex (success early) 7 8 4 472 STR match, complex (success late) 83 81 59 473 STR match, complex (total failure) 51 51 26 474 STR match, exact (failure) 4 4 3 475 STR match, exact (success) 4 4 2 476 STR match, exact -nocase (failure) 4 4 3 477 STR match, exact -nocase (success) 5 6 3 478 STR match, simple (failure) 4 4 3 479 STR match, simple (success) 4 4 3 480 STR range, index 100..200 of 4010 11 11 7 481 STR repeat, 4010 chars * 10 125 125 43 482 STR repeat, 4010 chars * 100 1556 1538 1889 483 STR repeat, abcdefghij * 10 7 7 5 484 STR repeat, abcdefghij * 100 12 12 10 485 STR repeat, abcdefghij * 1000 65 65 67 486 STR replace, equal replacement 29 30 22 487 STR replace, longer replacement 29 28 23 488 STR replace, no replacement 26 26 21 489 STR reverse iter/append, 10 c 37 43 29 490 STR reverse iter/append, 10 uc 37 42 28 491 STR reverse iter/append, 100 c 238 282 180 492 STR reverse iter/append, 100 uc 252 277 197 493 STR reverse iter/append, 400 c 897 1043 704 494 STR reverse iter/append, 400 uc 925 1075 747 495 STR reverse iter/set, 10 c 42 40 30 496 STR reverse iter/set, 10 uc 40 41 28 497 STR reverse iter/set, 100 c 310 315 240 498 STR reverse iter/set, 100 uc 333 326 248 499 STR reverse iter/set, 400 c 1308 1349 1009 500 STR reverse iter/set, 400 uc 1344 1360 1030 501 STR reverse recursive, 10 c 106 104 73 502 STR reverse recursive, 10 uc 98 102 69 503 STR reverse recursive, 100 c 1057 1059 741 504 STR reverse recursive, 100 uc 1005 990 691 505 STR reverse recursive, 400 c ERR ERR 6004 506 STR reverse recursive, 400 uc ERR ERR 6170 507 STR str $a eq $b 9 10 5 508 STR str $a eq $b (same obj) 9 10 5 509 STR str $a equal "" 6 9 4 510 STR str $a ne $b 10 10 6 511 STR str $a ne $b (same obj) 9 9 5 512 STR str num == "" 6 7 4 513 STR string compare 10 10 6 514 STR string compare "" 8 9 5 515 STR string compare long 100 101 93 516 STR string compare long (same obj) 9 9 5 517 STR string compare mixed long 260 261 116 518 STR string compare uni long 301 319 103 519 STR string equal "" 7 8 4 520 STR string equal long (!= len) 17 17 9 521 STR string equal long (== len) 196 178 94 522 STR string equal long (same obj) 10 11 5 523 STR string equal mixed long 10 10 5 524 STR string equal uni long 205 202 107 525 STR/LIST length, obj shimmer 1632 1618 1636 526 SWITCH 1st true 17 18 10 527 SWITCH 2nd true 17 18 10 528 SWITCH 9th true 19 19 11 529 SWITCH default true 19 22 11 530 TRACE all set (rwu) 17 16 10 531 TRACE no trace set 17 17 10 532 TRACE read 17 16 12 533 TRACE unset 17 18 10 534 TRACE write 16 17 10 535 UNSET catch var !exist 30 31 24 536 UNSET catch var exists 6 6 4 537 UNSET info check var !exist 6 6 4 538 UNSET info check var exists 8 8 5 539 UNSET nocomplain var !exist 6 6 4 540 UNSET nocomplain var exists 6 6 4 541 UNSET var exists 5 5 4 542 VAR 'array set' of 100 elems 95 99 53 543 VAR 100 'set's in array 70 71 43 544 VAR access global 9 12 5 545 VAR access local proc arg 5 5 3 546 VAR access locally set 5 5 3 547 VAR access upvar 13 12 7 548 VAR mset 12 10 6 549 VAR mset (foreach) 7 8 4 550 VAR ref absolute 240 218 128 551 VAR ref local 35 33 18 552 VAR ref variable 38 41 22 553 VAR set array element 9 8 5 554 VAR set scalar 4 4 2 555 WORDCOUNT wc1 3091 3138 1803 556 WORDCOUNT wc2 648 656 560 557 WORDCOUNT wc3 587 601 506 557 BENCHMARKS 1:8.4.7 2:8.4.8 3:8.4.8 000 VERSIONS: 1:8.4.7 2:8.4.8 3:8.4.8 001 CANVAS cget/incr -width 14 14 10 002 CANVAS configure -bg 10 10 5 003 CANVAS configure all 114 111 93 004 CANVAS create 317 295 251 005 CANVAS create (one exists) 254 240 186 006 CANVAS draw-3 100 16790 16902 12449 007 CANVAS simple draw 10 1960 2032 1581 008 CANVAS simple draw 100 16961 17232 12690 009 CANVAS simple draw 1000 216915 225646 143645 010 ENTRY create 619 622 518 011 ENTRY create (one exists) 281 267 205 012 STARTUP time to launch wish 1739630 1319774 1224132 012 BENCHMARKS 1:8.4.7 2:8.4.8 3:8.4.8