***ActiveTcl8.4.8にして気になったところとか何か [#b8b9f3ed]
-treectrlが1.0から1.1になっている。~
''カラム作成の手続きが変更されてて、変更履歴付いてないし。''~
こっそり$t column createとか追加されてるようで、ImageCatalogでtreectrl1.0の時は
 $tree column configure  0 -tag thumbnail
こんな風にカラムの番号にタグを付けてた最初の初期化処理のとこを
 $tree column create -tag thumbnail
みたいに修正。。。変更点どこかにまとめてないかなあ。

***ChangeLog [#l89e4ae1]
- Fixed possible deadlock in Tcl_Finalize
- Fixed thread IDs on 64-bit systems
- Fixed [scan %ld] handling LP64 systems
- Fixed [string map $samevar $samevar] crash
- Fixed broken [namespace forget] logic
- Fixed [namespace import] cycle prevention
- Improved control over int <-> wideInt conversion
- Fixed buffer overflow when there is a syntax error in [subst]
- Fixed [file executable] result for case insensitivity on Windows
- Fixed [expr {NaN == NaN}] result
- Make [tcl_findLibrary] search $::auto_path as well
- Fixed crash in [fconfigure -ttycontrol] in threaded build
- [[[TIP 222]:http://www.tcl.tk/cgi-bin/tct/tip/222.html]] implementation of [wm attributes -alpha] on Windows
-- Windows2000/XPでダイアログの透過ができるようになった!。~
 package require Tk
 wm attribute . -alpha 0.5
- [[[TIP 159]:http://www.tcl.tk/cgi-bin/tct/tip/159.html]] implementation of [wm iconphoto]
- Make Tk [load]-able on OS X/Aqua
- Handle color/screen resolution changes on Windows
- Fixed [wm resizable] for Solaris/CDE
- Handle Windows native dialog double clicks that fall through
- Fixed [place forget] memory leak
- Recompute menu geometry on named font size change
- Fixed X/IME IC focus after creation
- Improved multiple display Tk dialog window placement
- Fixed compound buttons for OS X/Aqua
- Documentation improvements and test suite expansion

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

|New|Edit|Diff|History|Attach|Copy|Rename|
HTML convert time: 0.004 sec.