- The added line is THIS COLOR.
- The deleted line is THIS COLOR.
***変更点 [#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.