Tcl Source Code

Artifact [d2b21fc9f4]
Login

Artifact d2b21fc9f45e15476e33e95b9f03d1773987827f:

Attachment "bench.const3" to ticket [441372ffff] added by msofer 2001-07-15 07:42:02.
TCL_INTERP: 1:8.4a3 2:8.4a3
STARTED 2001-07-14 18:50:51 (runbench.tcl v1.11)
Benchmark 1:8.4a3 /CVS/tcl_SF_clean/unix/tclsh
bbccdeefhkllmmmmprrssstuvw 00:04:04 elapsed
Benchmark 2:8.4a3 /CVS/tcl_SF_CONST/unix/tclsh
bbccdeefhkllmmmmprrssstuvw 00:03:59 elapsed
000 VERSIONS:                               1:8.4a3 2:8.4a3
001 BASE64 decode 10                            401     389
002 BASE64 decode 100                          3201    3081
003 BASE64 decode 1000                        31027   29970
004 BASE64 decode 10000                      310383  299786
005 BASE64 decode2 10                           368     362
006 BASE64 decode2 100                         2984    2912
007 BASE64 decode2 1000                       29158   28450
008 BASE64 decode2 10000                     289055  282428
009 BASE64 encode 10                            300     284
010 BASE64 encode 100                          2427    2329
011 BASE64 encode 1000                        23728   22440
012 BASE64 encode 10000                      236735  224663
013 BASE64 encode2 10                           271     263
014 BASE64 encode2 100                         2162    2085
015 BASE64 encode2 1000                       21046   20227
016 BASE64 encode2 10000                     210085  202070
017 BIN bitset-v1 1000 chars                  12733   12369
018 BIN bitset-v1 5000 chars                  61735   60631
019 BIN bitset-v1 10000 chars                123753  120541
020 BIN bitset-v2 1000 chars                   6246    6278
021 BIN bitset-v2 5000 chars                  31736   31717
022 BIN bitset-v2 10000 chars                 65477   65610
023 BIN bitset-v3 1000 chars                   2051    1958
024 BIN bitset-v3 5000 chars                  11774   11355
025 BIN bitset-v3 10000 chars                 27181   26432
026 BIN c scan, 1000b                           328     327
027 BIN c scan, 5000b                          1670    1580
028 BIN c scan, 10000b                         4583    4777
029 CATCH no catch used                           4       4
030 CATCH return error                           27      28
031 CATCH return ok                               4       4
032 DATA access in a list                      1372    1351
033 DATA access in an array                    2190    2105
034 DATA create in a list                       934     899
035 DATA create in an array                    2781    2601
036 EVAL cmd and mixed lists                   1213    1205
037 EVAL cmd eval as list                        10       9
038 EVAL cmd eval as string                      23      23
039 EVAL cmd eval in list obj var                11      11
040 EVAL list cmd and mixed lists              1213    1214
041 EVAL list cmd and pure lists                 98      99
042 EXPR braced                                  12      11
043 EXPR fifty operands                          20      21
044 EXPR incr with expr                           4       4
045 EXPR incr with incr                           5       5
046 EXPR inline                                  13      13
047 EXPR one operand                              4       4
048 EXPR ten operands                             7       7
049 EXPR unbraced                                75      74
050 FCOPY binary: 160K                         6165    6409
051 FCOPY encoding: 160K                      23040   23123
052 FCOPY std: 160K                            6143    6411
053 HEAPSORT size 10                            527     502
054 HEAPSORT size 50                           3682    3467
055 HEAPSORT size 100                          8378    7852
056 IF else true al                              18      17
057 IF else true numeric                          8       7
058 IF elseif true al                            18      18
059 IF elseif true numeric                        8       8
060 IF if false al/al                            12      12
061 IF if false al/num                           10      10
062 IF if false num/num                           7       7
063 IF if true al                                12      12
064 IF if true al/al                             13      12
065 IF if true num/num                            7       7
066 IF if true numeric                            7       6
067 IF multi 1st true                             7       6
068 IF multi 2nd true                             8       7
069 IF multi 9th true                            15      14
070 IF multi default true                        15      14
071 KLIST shuffle0 llength 1                     46      45
072 KLIST shuffle0 llength 10                   133     127
073 KLIST shuffle0 llength 100                 1037    1021
074 KLIST shuffle0 llength 1000               11297   11187
075 KLIST shuffle0 llength 10000             180665  177793
076 KLIST shuffle1-s llength 1                   37      37
077 KLIST shuffle1-s llength 10                 177     178
078 KLIST shuffle1-s llength 100               2312    2354
079 KLIST shuffle1-s llength 1000             91160   90974
080 KLIST shuffle1a llength 1                    44      45
081 KLIST shuffle1a llength 10                  210     209
082 KLIST shuffle1a llength 100                1994    1968
083 KLIST shuffle1a llength 1000              19846   19558
084 KLIST shuffle1a llength 10000            205493  199881
085 KLIST shuffle2 llength 1                     43      41
086 KLIST shuffle2 llength 10                   232     222
087 KLIST shuffle2 llength 100                 2160    2067
088 KLIST shuffle2 llength 1000               21938   21156
089 KLIST shuffle2 llength 10000             252144  242737
090 KLIST shuffle3 llength 1                     35      34
091 KLIST shuffle3 llength 10                   154     152
092 KLIST shuffle3 llength 100                 1416    1405
093 KLIST shuffle3 llength 1000               16379   16206
094 KLIST shuffle3 llength 10000             410360  408046
095 KLIST shuffle4 llength 1                     35      36
096 KLIST shuffle4 llength 10                   162     161
097 KLIST shuffle4 llength 100                 1493    1480
098 KLIST shuffle4 llength 1000               14728   14608
099 KLIST shuffle4 llength 10000             152554  149458
100 KLIST shuffle5-s llength 1                   19      19
101 KLIST shuffle5-s llength 10                 126     123
102 KLIST shuffle5-s llength 100               1381    1366
103 KLIST shuffle5-s llength 1000             33608   33436
104 KLIST shuffle5a llength 1                    23      23
105 KLIST shuffle5a llength 10                  137     134
106 KLIST shuffle5a llength 100                1271    1233
107 KLIST shuffle5a llength 1000              15001   14421
108 KLIST shuffle5a llength 10000            396249  390031
109 LIST append to list                         295     295
110 LIST exact search, first item                 8       8
111 LIST exact search, last item                 32      33
112 LIST exact search, middle item               15      15
113 LIST exact search, non-item                  85      85
114 LIST exact search, typed item                22      22
115 LIST exact search, untyped item              32      33
116 LIST index first element                      6       6
117 LIST index last element                       6       6
118 LIST index middle element                     7       6
119 LIST insert an item at "end"                 42      43
120 LIST insert an item at middle                52      53
121 LIST insert an item at start                 53      53
122 LIST iterate list                          2075    1988
123 LIST join list                              531     531
124 LIST large, early range                      14      15
125 LIST large, late range                       14      14
126 LIST length, pure list                        6       6
127 LIST remove first element                    53      53
128 LIST remove in mixed list                    56      56
129 LIST remove last element                     51      51
130 LIST remove middle element                   52      52
131 LIST replace first el with multiple          55      55
132 LIST replace first element                   43      43
133 LIST replace in mixed list                   47      47
134 LIST replace last el with multiple           44      44
135 LIST replace last element                    43      43
136 LIST replace middle el with multiple         50      49
137 LIST replace middle element                  43      43
138 LIST replace range                           52      52
139 LIST small, early range                      10      10
140 LIST small, late range                       10      10
141 LIST sort                                  1304    1310
142 LIST sorted search, first item                9       9
143 LIST sorted search, last item                 9       9
144 LIST sorted search, middle item               8       8
145 LIST sorted search, non-item                  8       9
146 LIST sorted search, typed item                8       9
147 LIST typed sort                            1140    1141
148 LOOP for (to 1000)                         1455    1395
149 LOOP for, iterate list                     1858    1798
150 LOOP for, iterate string                   3041    2734
151 LOOP foreach, iterate list                 1123    1017
152 LOOP foreach, iterate string               1339    1233
153 LOOP while (to 1000)                       1454    1387
154 MAP regsub -nocase, no match                675     672
155 MAP regsub 1 val                           2290    2296
156 MAP regsub 1 val -nocase                   2292    2304
157 MAP regsub 2 val                          10263   10291
158 MAP regsub 2 val -nocase                  10266   10317
159 MAP regsub 3 val                          13770   13824
160 MAP regsub 3 val -nocase                  13728   13806
161 MAP regsub 4 val                          17221   17334
162 MAP regsub 4 val -nocase                  17214   17287
163 MAP regsub short                             97      99
164 MAP regsub, no match                        672     672
165 MAP string -nocase, no match               2615    2611
166 MAP string 1 val                            292     292
167 MAP string 1 val -nocase                   1356    1350
168 MAP string 2 val                            787     784
169 MAP string 2 val -nocase                   2546    2539
170 MAP string 3 val                            972     970
171 MAP string 3 val -nocase                   3747    3738
172 MAP string 4 val                           1221    1218
173 MAP string 4 val -nocase                   4469    4476
174 MAP string short                             17      16
175 MAP string, no match                        481     480
176 MATRIX mult 5x5                             453     436
177 MATRIX mult 10x10                          2863    2733
178 MATRIX mult 15x15                          9057    8632
179 MATRIX transposition-0                     4210    3895
180 MATRIX transposition-1                     2800    2693
181 MD5 msg len 10                             1390    1342
182 MD5 msg len 100                            2478    2422
183 MD5 msg len 1000                          17925   17438
184 MD5 msg len 10000                        176145  171896
185 MTHD array stored proc call                   6       6
186 MTHD direct ns proc call                      4       4
187 MTHD imported ns proc call                    4       4
188 MTHD indirect proc eval                      14      13
189 MTHD indirect proc eval #2                   24      24
190 MTHD inline call                              2       2
191 MTHD interp alias proc call                  11      11
192 MTHD ns lookup call                          42      41
193 MTHD switch method call                      19      18
194 PROC do-nothing, no args                      3       3
195 PROC do-nothing, one arg                      3       3
196 PROC explicit return                          3       4
197 PROC explicit return (2)                      3       3
198 PROC explicit return (3)                      3       3
199 PROC heavily commented                        3       3
200 PROC implicit return                          4       4
201 PROC implicit return (2)                      4       4
202 PROC implicit return (3)                      3       3
203 PROC local links with global                447     447
204 PROC local links with upvar                 405     403
205 PROC local links with variable              395     394
206 RE 1-char long-end                           52      52
207 RE 1-char long-end catching                  90      89
208 RE 1-char long-middle                        34      34
209 RE 1-char long-middle catching               70      70
210 RE 1-char long-start                         15      15
211 RE 1-char long-start catching                51      51
212 RE 1-char short                              15      15
213 RE 1-char short catching                     52      51
214 RE basic                                     13      13
215 RE basic catching                            58      57
216 RE c-comment long                            62      62
217 RE c-comment long catching                  171     170
218 RE c-comment long nomatch                    91      92
219 RE c-comment long nomatch catching           91      91
220 RE c-comment long pmatch                    101     101
221 RE c-comment long pmatch catching           101     100
222 RE c-comment many *s                        103     103
223 RE c-comment many *s catching               280     280
224 RE c-comment nomatch                         19      20
225 RE c-comment nomatch catching                19      19
226 RE c-comment simple                          32      32
227 RE c-comment simple catching                122     121
228 RE count all matches                         92      92
229 RE extract all matches                      109     109
230 RE literal regexp                            22      22
231 RE n-char long-end                           52      53
232 RE n-char long-end catching                  98      98
233 RE n-char long-middle                        34      34
234 RE n-char long-middle catching               80      79
235 RE n-char long-start                         16      16
236 RE n-char long-start catching                61      61
237 RE n-char short                              16      16
238 RE n-char short catching                     60      60
239 RE var-based regexp                          23      23
240 READ 595K, gets                          163490  163810
241 READ 595K, read                           37229   37136
242 READ 595K, read & size                    37124   37060
243 READ 3050b, gets                            883     868
244 READ 3050b, read                            223     223
245 READ 3050b, read & size                     234     243
246 READ bin 595K, gets                      170532  169755
247 READ bin 595K, read                       11883   11831
248 READ bin 595K, read & size                11913   11800
249 READ bin 3050b, gets                        925     929
250 READ bin 3050b, read                         88      87
251 READ bin 3050b, read & size                  99      98
252 SHA sha1 msg len 10                        3482    3416
253 SHA sha1 msg len 100                       6510    6334
254 SHA sha1 msg len 1000                     49275   47611
255 SHA sha1 msg len 10000                   480370  465389
256 SHA sha1DF msg len 10                      1436    1413
257 SHA sha1DF msg len 100                     2766    2718
258 SHA sha1DF msg len 1000                   21290   21002
259 SHA sha1DF msg len 10000                 208519  205731
260 STARTUP time to launch tclsh               9014    8975
261 STR append                                   31      31
262 STR append (1KB + 1KB)                       20      19
263 STR append (1MB + (1b + 1K + 1b) * 100)    8652    8490
264 STR append (1MB + 1KB * 20)                7516    7376
265 STR append (1MB + 1KB * 1000)             15562   15567
266 STR append (1MB + 1KB)                     7352    7251
267 STR append (1MB + 1MB * 3)                28880   29989
268 STR append (1MB + 1MB * 5)                35998   36802
269 STR append (1MB + 2b * 1000)               9180    9019
270 STR append (10KB + 1KB)                      28      35
271 STR first (failure)                          66      66
272 STR first (success)                           8       9
273 STR first (total failure)                    57      57
274 STR index 0                                  10       9
275 STR index 100                                10       9
276 STR index 500                                10       9
277 STR info locals match                       394     391
278 STR last (failure)                           55      55
279 STR last (success)                            8       8
280 STR last (total failure)                     42      42
281 STR length (==4010)                           6       6
282 STR length of a LIST                          6       6
283 STR length static str                         3       3
284 STR match, complex (failure)                 63      64
285 STR match, complex (success early)            8       8
286 STR match, complex (success late)            77      78
287 STR match, complex (total failure)           48      48
288 STR match, simple (failure)                   7       7
289 STR match, simple (success early)             7       8
290 STR match, simple (success late)              7       7
291 STR match, simple (total failure)             7       8
292 STR range, index 100..200 of 4010            11      11
293 STR repeat, 4010 chars * 10                  53      53
294 STR repeat, 4010 chars * 100               1906    1758
295 STR repeat, abcdefghij * 10                   8       8
296 STR repeat, abcdefghij * 100                 26      25
297 STR repeat, abcdefghij * 1000               198     198
298 STR replace, equal replacement               27      27
299 STR replace, longer replacement              29      29
300 STR replace, no replacement                  25      25
301 STR reverse iter/append, 10 c                43      43
302 STR reverse iter/append, 10 uc               43      42
303 STR reverse iter/append, 100 c              302     297
304 STR reverse iter/append, 100 uc             300     290
305 STR reverse iter/append, 400 c             1165    1140
306 STR reverse iter/append, 400 uc            1151    1124
307 STR reverse iter/set, 10 c                   47      47
308 STR reverse iter/set, 10 uc                  47      47
309 STR reverse iter/set, 100 c                 394     393
310 STR reverse iter/set, 100 uc                403     397
311 STR reverse iter/set, 400 c                1656    1680
312 STR reverse iter/set, 400 uc               1669    1673
313 STR reverse recursive, 10 c                 110     106
314 STR reverse recursive, 10 uc                103      98
315 STR reverse recursive, 100 c               1063     995
316 STR reverse recursive, 100 uc               988     932
317 STR reverse recursive, 400 c               5623    5438
318 STR reverse recursive, 400 uc              5873    6484
319 STR split iter, 4000 uchars                5551    5173
320 STR split iter, 4010 chars                 5532    5106
321 STR split iter, rand 100 c                  268     259
322 STR split iter, rand 1000 c                1747    1655
323 STR split iter, rand 10000 c              14395   13443
324 STR split, 4000 uchars                     1124    1125
325 STR split, 4010 chars                      1057    1057
326 STR split, rand 100 c                       152     152
327 STR split, rand 1000 c                      638     639
328 STR split, rand 10000 c                    3288    3290
329 STR str $a eq $b                             11      11
330 STR str $a eq $b (same obj)                  11      11
331 STR str $a equal ""                           7       7
332 STR str $a ne $b                             11      11
333 STR str $a ne $b (same obj)                  11      10
334 STR str num == ""                             8       7
335 STR string compare                           11      11
336 STR string compare ""                         9       8
337 STR string compare long                     215     215
338 STR string compare mixed long               489     489
339 STR string compare uni long                 214     214
340 STR string equal ""                           7       7
341 STR/LIST length, obj shimmer               1095    1094
342 SWITCH 1st true                              15      15
343 SWITCH 2nd true                              16      15
344 SWITCH 9th true                              18      17
345 SWITCH default true                          18      18
346 TRACE all set (rwu)                          16      16
347 TRACE no trace set                           16      17
348 TRACE read                                   16      16
349 TRACE unset                                  16      16
350 TRACE write                                  16      16
351 UNSET catch var !exist                       31      31
352 UNSET catch var exists                        6       6
353 UNSET info check var !exist                   6       6
354 UNSET info check var exists                   8       8
355 UNSET nocomplain var !exist                   5       5
356 UNSET nocomplain var exists                   5       6
357 UNSET var exists                              5       6
358 VAR 'array set' of 100 elems                147     147
359 VAR 100 'set's in array                      79      79
360 VAR access global                            17      17
361 VAR access local proc arg                     5       5
362 VAR access locally set                        5       5
363 VAR access upvar                             18      18
364 VAR set array element                         8       8
365 VAR set scalar                                4       4
366 WORDCOUNT wc1                              2650    2644
367 WORDCOUNT wc2                               670     665
368 WORDCOUNT wc3                               606     607
368 BENCHMARKS                              1:8.4a3 2:8.4a3
FINISHED 2001-07-14 18:58:55