***変更点 [#w7e9ab08]
***ベンチマーク [#yc6e8157]
なんか微妙にパフォーマンス改善してるみたいなことがChangelogに書いてたので[[tclbench:http://cvs.sourceforge.net/viewcvs.py/tcllib/tclbench/]]でベンチマークを取ってみた。リストの操作が速くなってる。
***ActiveTcl8.4.8にして気になったところとか何か [#b8b9f3ed]
-wishの起動が速くなっている。
-treectrlが1.0から1.1になっている。~
''カラム作成の手続きが変更されてて、変更履歴付いてないし。''~
こっそり$t column createとか追加されてるようで、ImageCatalogでtreectrl1.0の時は
 $tree column configure  0 -tag thumbnail
こんな風にカラムの番号にタグを付けてた最初の初期化処理のとこを
 $tree column create -tag thumbnail
みたいに修正。。。変更点どこかにまとめてないかなあ。

***ChangeLog [#l89e4ae1]
-64-bit file system support (where the OS supports it) 
-64-bit expr support at the Tcl level (even on 32-bit OSes) 
-serial port support (Windows / Unix) 
-numerous performance enhancements 
-support for starkits (aka scripted documents) 
-improved escape-based encoding support (i.e. iso2022-jp) 
-improved threading support 
-new virtual file system 
-new lset command 
-command enhancements (regsub, trace, lindex, lsearch) 
-new eq and ne operators for expr 
-updated tcltest, http and msgcat packages 
-widget enhancements 
-new spinbox, panedwindow and labelframe widgets 
-compound buttons / labels / menu items 
-undo/redo support in the text widget 
-native Aqua support for OS X 
-improved image transparency support 
-platform specific wm attributes command 
-extended documentation 


***ベンチマーク [#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



HTML convert time: 0.019 sec.