Version 14 of Tcl Normalized Benchmarks

Updated 2007-11-17 00:09:26 by JH

Jeffrey Hobbs: These are the normalized benchmarks, using 8.4 as the base. These numbers correspond to the ones in Tcl Benchmarks.

After each interp run, the elapsed time (%H:%M:%S) taken for that interp is shown, to give an overview of the whole run. Note that not all tests run on all interpreters, and the code isn't always equal between versions (the functionality of the code should be).


Note: Lower numbers mean faster performance.


 TCL_INTERP: 1:8.5b2.1 2:8.4.17 3:8.3.5 4:8.2.3 5:8.0.5 6:7.6p2
 STARTED 2007-11-16 11:21:08 (runbench.tcl v1.20)
 Benchmark 1:8.5b2.1 /home/jeffh/install/linux-ix86/bin/canon8.5
 abbccdeeeffghkllmmmmnpprrssstuvw 00:02:08 elapsed
 124194 milliseconds
 Benchmark 2:8.4.17 /home/jeffh/install/linux-ix86/bin/canon8.4
 abbccdeeeffghkllmmmmnpprrssstuvw 00:02:25 elapsed
 140805 milliseconds
 Benchmark 3:8.3.5 /home/jeffh/install/linux-ix86/bin/canon8.3
 abbccdeeeffghkllmmmmnpprrssstuvw 00:04:01 elapsed
 239211 milliseconds
 Benchmark 4:8.2.3 /home/jeffh/install/linux-ix86/bin/canon8.2
 abbccdeeeffghkllmmmmnpprrssstuvw 00:03:56 elapsed
 235704 milliseconds
 Benchmark 5:8.0.5 /home/jeffh/install/linux-ix86/bin/canon8.0
 abbccdeeeffghkllmmmmnpprrssstuvw 00:02:52 elapsed
 164640 milliseconds
 Benchmark 6:7.6p2 /home/jeffh/install/linux-ix86/bin/canon7.6
 abbccdeeeffghkllmmmmnpprrssstuvw 00:07:01 elapsed
 411967 milliseconds
000VERSIONS:1:8.5b2.12:8.4.173:8.3.54:8.2.35:8.0.56:7.6p2
001ARRAY genKeys 500.881.001.131.070.991.39
002ARRAY genKeys 5000.861.000.830.720.641.12
003ARRAY makeHash 500 501.091.000.991.261.141.33
004BASE64 decode 100.841.001.231.191.08-=-
005BASE64 decode 1000.861.001.241.281.12-=-
006BASE64 decode 10000.871.001.251.291.23-=-
007BASE64 decode 100000.841.001.251.311.14-=-
008BASE64 decode2 100.801.001.171.191.01-=-
009BASE64 decode2 1000.871.001.231.271.11-=-
010BASE64 decode2 10000.851.001.241.321.13-=-
011BASE64 decode2 100000.851.001.241.321.15-=-
012BASE64 decode3 100.931.001.391.411.20-=-
013BASE64 decode3 1000.851.001.531.511.33-=-
014BASE64 decode3 10000.861.001.591.601.42-=-
015BASE64 decode3 100000.841.001.591.601.41-=-
016BASE64 encode 100.981.001.391.441.31-=-
017BASE64 encode 1001.001.001.581.621.65-=-
018BASE64 encode 10001.001.001.641.661.66-=-
019BASE64 encode 100001.021.001.641.721.67-=-
020BASE64 encode2 100.791.001.431.391.67-=-
021BASE64 encode2 1000.781.001.711.692.28-=-
022BASE64 encode2 10000.801.001.751.742.38-=-
023BASE64 encode2 100000.801.001.741.802.38-=-
024BASE64 encode3 100.971.001.291.251.06-=-
025BASE64 encode3 1000.801.001.651.601.40-=-
026BASE64 encode3 10000.781.001.761.671.47-=-
027BASE64 encode3 100000.781.001.831.731.55-=-
028BIN bitset-v1 1000 chars0.861.001.121.190.99-=-
029BIN bitset-v1 5000 chars0.851.001.131.261.07-=-
030BIN bitset-v1 10000 chars0.861.001.131.231.08-=-
031BIN bitset-v2 1000 chars0.951.001.201.111.03-=-
032BIN bitset-v2 5000 chars0.911.001.231.131.06-=-
033BIN bitset-v2 10000 chars1.001.001.251.161.07-=-
034BIN bitset-v3 1000 chars1.071.001.951.851.56-=-
035BIN bitset-v3 5000 chars1.211.002.242.081.79-=-
036BIN bitset-v3 10000 chars1.221.002.292.111.88-=-
037BIN c scan, 1000b1.011.000.470.470.36-=-
038BIN c scan, 5000b0.891.000.610.620.48-=-
039BIN c scan, 10000b1.071.000.860.870.70-=-
040BIN chars, 10000b1.041.002.262.151.83-=-
041BIN u char, 10000b1699.41-=--=--=--=--=-
042CATCH error, complex1.911.000.960.750.640.86
043CATCH no catch used1.561.000.811.080.811.08
044CATCH return error1.791.000.700.700.600.90
045CATCH return except1.431.000.900.900.601.20
046CATCH return ok1.591.001.030.770.771.28
047DATA access in a list0.711.002.442.352.1747.66
048DATA access in an array1.331.001.691.701.554.56
049DATA create in a list1.021.003.503.053.117.94
050DATA create in an array1.191.001.351.341.793.06
051ENC iso2022-jp, gets0.031.000.340.34-=--=-
052ENC iso2022-jp, read0.021.000.330.33-=--=-
053ENC iso2022-jp, read & size0.021.000.340.34-=--=-
054ENC iso8859-2, gets0.691.000.690.60-=--=-
055ENC iso8859-2, read0.651.000.570.54-=--=-
056ENC iso8859-2, read & size0.641.000.580.56-=--=-
057EVAL cmd and mixed lists0.951.000.762.161.570.23
058EVAL cmd eval as list1.041.001.261.891.891.26
059EVAL cmd eval as string1.251.000.740.870.740.37
060EVAL cmd eval in list obj var1.211.000.712.141.670.95
061EVAL list cmd and mixed lists0.941.000.802.191.570.23
062EVAL list cmd and pure lists1.171.000.6928.8320.633.02
063EXPR $a != $b int0.881.000.810.810.813.64
064EXPR $a != $b str (!= len)0.911.000.940.940.942.81
065EXPR $a != $b str (== len)0.801.001.150.990.822.30
066EXPR $a == $b int0.821.000.790.790.793.97
067EXPR $a == $b str (!= len)0.881.000.950.950.952.67
068EXPR $a == $b str (== len)0.801.000.680.680.822.05
069EXPR braced1.251.001.500.860.864.72
070EXPR fifty operands1.081.001.241.120.873.98
071EXPR incr with expr1.081.001.260.630.631.89
072EXPR incr with incr1.021.001.300.650.651.95
073EXPR inline1.011.000.810.810.651.61
074EXPR one operand1.021.000.620.620.621.23
075EXPR ten operands0.981.001.091.090.722.90
076EXPR unbraced1.931.000.840.730.570.54
077FCOPY binary: 160K1.011.001.021.05-=--=-
078FCOPY encoding: 160K1.031.000.350.37-=--=-
079FCOPY std: 160K1.001.001.001.021.201.15
080FILE exec interp1.251.000.940.800.880.47
081FILE exec interp: pkg require1.511.000.790.700.450.25
082FILE exists tmpfile (obj)0.931.000.910.910.680.68
083FILE exists ~0.941.0025.2023.850.811.63
084FILE exists! tmpfile (obj)0.921.001.011.010.760.76
085FILE exists! tmpfile (str)0.451.000.220.220.130.13
086FILE glob tmpdir (60 entries)0.821.000.770.850.600.59
087FILE glob / all subcommands0.961.000.960.960.760.73
088FILE glob / atime1.021.000.400.430.330.39
089FILE glob / attributes1.121.000.660.740.51-=-
090FILE glob / dirname0.331.000.480.590.490.51
091FILE glob / executable1.001.000.370.430.310.35
092FILE glob / exists1.001.000.360.430.310.35
093FILE glob / extension0.681.000.580.800.650.68
094FILE glob / isdirectory0.991.000.370.430.320.34
095FILE glob / isfile1.011.000.380.440.330.35
096FILE glob / mtime1.001.000.370.430.320.54
097FILE glob / owned0.991.000.380.440.340.35
098FILE glob / readable1.001.000.360.420.320.35
099FILE glob / rootname0.701.000.590.790.650.68
100FILE glob / size1.011.000.370.440.320.38
101FILE glob / tail0.431.000.540.690.580.59
102FILE glob / writable0.991.000.360.430.310.34
103FILE recurse / -dir0.801.000.670.700.680.65
104FILE recurse / cd0.551.000.410.410.420.39
105GCCont_cpb::cGCC 501.061.002.402.371.79-=-
106GCCont_cpb::cGCC 5001.171.003.093.182.66-=-
107GCCont_cpb::cGCC 50001.271.003.253.422.90-=-
108GCCont_cpbre1::cGCC 500.951.001.00-=--=--=-
109GCCont_cpbre1::cGCC 5000.981.000.90-=--=--=-
110GCCont_cpbre1::cGCC 50000.981.000.88-=--=--=-
111GCCont_cpbre2::cGCC 500.941.000.98-=--=--=-
112GCCont_cpbre2::cGCC 5000.891.000.86-=--=--=-
113GCCont_cpbre2::cGCC 50000.911.000.87-=--=--=-
114GCCont_cpbrs2::cGCC 500.941.002.792.79-=--=-
115GCCont_cpbrs2::cGCC 5000.971.005.465.60-=--=-
116GCCont_cpbrs2::cGCC 50000.991.006.496.80-=--=-
117GCCont_cpbrs::cGCC1 500.911.002.792.791.50-=-
118GCCont_cpbrs::cGCC1 5000.971.005.375.531.18-=-
119GCCont_cpbrs::cGCC1 50000.981.006.546.790.88-=-
120GCCont_cpbrs::cGCC2 500.911.003.153.111.57-=-
121GCCont_cpbrs::cGCC2 5000.961.005.996.221.17-=-
122GCCont_cpbrs::cGCC2 50000.971.007.387.580.85-=-
123GCCont_cpbrs_trap::cGCC 500.951.000.971.030.60-=-
124GCCont_cpbrs_trap::cGCC 5000.931.000.900.990.53-=-
125GCCont_cpbrs_trap::cGCC 50000.921.000.900.980.50-=-
126GCCont_expr::cGCC 501.121.000.900.88-=--=-
127GCCont_expr::cGCC 5000.431.000.950.94-=--=-
128GCCont_expr::cGCC 50000.051.000.830.75-=--=-
129GCCont_i::cGCC1 500.481.001.201.170.89-=-
130GCCont_i::cGCC1 5000.411.001.191.150.99-=-
131GCCont_i::cGCC1 50000.411.001.191.171.02-=-
132GCCont_i::cGCC2 501.041.001.651.821.27-=-
133GCCont_i::cGCC2 5001.071.001.751.961.68-=-
134GCCont_i::cGCC2 50001.061.001.751.981.72-=-
135GCCont_i::cGCC3 501.071.001.661.961.36-=-
136GCCont_i::cGCC3 5001.101.001.872.111.83-=-
137GCCont_i::cGCC3 50001.111.001.852.191.91-=-
138GCCont_r1::cGCC 500.451.001.441.291.01-=-
139GCCont_r1::cGCC 5000.441.001.431.271.00-=-
140GCCont_r1::cGCC 50000.441.001.441.271.00-=-
141GCCont_r2::cGCC 500.431.001.181.120.85-=-
142GCCont_r2::cGCC 5000.411.001.191.150.94-=-
143GCCont_r2::cGCC 50000.411.001.171.170.97-=-
144GCCont_r3::cGCC 500.461.001.151.150.86-=-
145GCCont_r3::cGCC 5000.421.001.171.150.96-=-
146GCCont_r3::cGCC 50000.421.001.171.170.96-=-
147GCCont_rsf1::cGCC 501.031.001.361.67-=--=-
148GCCont_rsf1::cGCC 5001.111.001.421.97-=--=-
149GCCont_rsf1::cGCC 50001.131.001.432.07-=--=-
150GCCont_rsf2::cGCC1 500.991.001.351.62-=--=-
151GCCont_rsf2::cGCC1 5001.071.001.602.04-=--=-
152GCCont_rsf2::cGCC1 50001.101.001.642.18-=--=-
153GCCont_rsf2::cGCC2 500.981.001.211.42-=--=-
154GCCont_rsf2::cGCC2 5001.081.001.522.00-=--=-
155GCCont_rsf2::cGCC2 50001.121.001.622.18-=--=-
156GCCont_rsf3::cGCC 501.011.001.181.45-=--=-
157GCCont_rsf3::cGCC 5001.051.001.511.98-=--=-
158GCCont_rsf3::cGCC 50001.101.001.602.15-=--=-
159GCCont_turing::cGCC 500.821.001.231.23-=--=-
160GCCont_turing::cGCC 5000.981.001.781.80-=--=-
161GCCont_turing::cGCC 50000.971.001.911.93-=--=-
162HEAPSORT size 101.121.001.301.2713.747.17
163HEAPSORT size 501.181.001.281.279.626.94
164HEAPSORT size 1001.151.001.251.238.096.61
165HEAPSORT2 size 100.761.00-=--=--=--=-
166HEAPSORT2 size 500.731.00-=--=--=--=-
167HEAPSORT2 size 1000.721.00-=--=--=--=-
168IF 1/0 check1.011.001.171.171.174.09
169IF else true al0.651.001.120.930.742.60
170IF else true numeric0.641.000.800.800.803.22
171IF elseif true al0.761.001.061.061.062.98
172IF elseif true numeric0.861.001.401.401.404.21
173IF if false al/al0.691.001.031.030.772.56
174IF if false al/num0.911.000.960.960.964.17
175IF if false num/num0.891.001.160.770.773.86
176IF if true al0.881.001.331.001.003.32
177IF if true al/al0.801.001.211.210.913.02
178IF if true num/num0.911.001.210.810.814.03
179IF if true numeric1.401.000.830.830.834.17
180IF multi 1st true0.951.000.820.820.826.58
181IF multi 2nd true0.971.001.201.201.206.77
182IF multi 9th true0.811.001.411.411.177.51
183IF multi default true0.871.001.431.431.437.60
184KLIST shuffle0 llength 10.961.001.631.551.398.0+
185KLIST shuffle0 llength 100.941.001.751.681.598.0+
186KLIST shuffle0 llength 1001.001.001.711.691.478.0+
187KLIST shuffle0 llength 10001.011.001.631.581.408.0+
188KLIST shuffle0 llength 100000.961.001.181.161.00-=-
189KLIST shuffle1-s llength 10.911.001.331.140.863.90
190KLIST shuffle1-s llength 100.721.001.240.870.803.64
191KLIST shuffle1-s llength 1001.001.001.310.890.824.57
192KLIST shuffle1-s llength 10000.881.000.950.610.643.87
193KLIST shuffle1a llength 10.961.001.141.070.763.05
194KLIST shuffle1a llength 100.961.001.121.070.944.56
195KLIST shuffle1a llength 1000.971.001.071.060.958.83
196KLIST shuffle1a llength 10000.971.001.051.070.9545.58
197KLIST shuffle1a llength 100000.991.001.071.091.02-=-
198KLIST shuffle2 llength 11.131.001.471.301.473.56
199KLIST shuffle2 llength 101.411.001.381.291.754.48
200KLIST shuffle2 llength 1001.501.001.371.261.724.53
201KLIST shuffle2 llength 10001.451.001.311.171.553.99
202KLIST shuffle2 llength 100001.391.001.231.121.45-=-
203KLIST shuffle3 llength 10.931.001.351.350.972.99
204KLIST shuffle3 llength 101.051.001.381.271.174.81
205KLIST shuffle3 llength 1001.041.001.231.241.066.45
206KLIST shuffle3 llength 10001.051.001.261.251.0919.45
207KLIST shuffle3 llength 100001.031.001.161.281.15-=-
208KLIST shuffle4 llength 10.891.001.361.360.992.89
209KLIST shuffle4 llength 101.031.001.501.351.255.03
210KLIST shuffle4 llength 1001.021.001.361.291.178.17
211KLIST shuffle4 llength 10001.021.001.351.291.1534.83
212KLIST shuffle4 llength 100001.001.001.321.261.14-=-
213KLIST shuffle5-s llength 11.091.001.061.060.894.61
214KLIST shuffle5-s llength 100.941.001.260.840.774.00
215KLIST shuffle5-s llength 1000.871.001.270.740.703.37
216KLIST shuffle5-s llength 10000.881.001.190.640.682.67
217KLIST shuffle5a llength 10.981.001.090.960.823.96
218KLIST shuffle5a llength 101.061.001.010.930.804.31
219KLIST shuffle5a llength 1001.051.000.950.860.755.47
220KLIST shuffle5a llength 10001.071.000.970.860.7814.86
221KLIST shuffle5a llength 100001.041.001.010.950.92-=-
222KLIST shuffle6 llength 11.051.00-=--=--=--=-
223KLIST shuffle6 llength 101.061.00-=--=--=--=-
224KLIST shuffle6 llength 1001.141.00-=--=--=--=-
225KLIST shuffle6 llength 10001.141.00-=--=--=--=-
226KLIST shuffle6 llength 100001.091.00-=--=--=--=-
227LIST append to list0.991.001.581.581.191.19
228LIST concat APPEND 2x100.971.001.621.050.810.48
229LIST concat APPEND 2x1000.911.001.181.030.900.23
230LIST concat APPEND 2x10000.931.001.171.050.890.19
231LIST concat APPEND 2x100000.931.001.131.010.890.16
232LIST concat CONCAT 2x100.891.001.082.371.721.51
233LIST concat CONCAT 2x1000.871.001.0112.8610.844.05
234LIST concat CONCAT 2x10000.781.000.9422.4218.955.43
235LIST concat CONCAT 2x100000.931.001.1622.8220.025.04
236LIST concat EVAL/LAPPEND 2x100.741.001.191.841.301.08
237LIST concat EVAL/LAPPEND 2x1001.021.001.012.962.463.54
238LIST concat EVAL/LAPPEND 2x10001.201.000.874.694.356.53
239LIST concat EVAL/LAPPEND 2x100001.051.000.805.303.565.17
240LIST concat FOREACH/LAPPEND 2x100.681.001.471.390.981.64
241LIST concat FOREACH/LAPPEND 2x1001.341.003.382.972.833.77
242LIST concat FOREACH/LAPPEND 2x10001.321.003.002.862.693.39
243LIST concat FOREACH/LAPPEND 2x100001.341.003.072.912.593.42
244LIST concat SET 2x100.991.001.120.940.840.56
245LIST concat SET 2x1000.941.001.091.030.890.27
246LIST concat SET 2x10000.941.001.111.030.860.22
247LIST concat SET 2x100000.981.001.181.030.910.21
248LIST exact search, first item0.951.000.680.680.6852.72
249LIST exact search, last item1.031.000.930.930.8511.97
250LIST exact search, middle item1.021.000.860.860.6532.54
251LIST exact search, non-item1.011.000.940.940.894.32
252LIST exact search, typed item0.871.001.431.431.3118.24
253LIST exact search, untyped item1.001.000.900.900.9011.36
254LIST index first element0.881.000.840.840.8413.03
255LIST index last element0.921.000.780.780.7819.14
256LIST index middle element0.931.000.850.850.8517.80
257LIST insert an item at "end"0.941.001.060.950.786.32
258LIST insert an item at middle0.851.001.070.960.863.05
259LIST insert an item at start0.831.001.101.000.842.47
260LIST iterate list0.761.002.161.992.13211.85
261LIST join list0.881.000.890.880.671.02
262LIST large, early range0.921.000.860.860.697.59
263LIST large, late range0.861.000.840.840.678.07
264LIST length, pure list0.931.000.890.890.8975.56
265LIST list1.051.001.141.000.862.43
266LIST lset foreach l0.891.00=8.4=8.4=8.4=8.4
267LIST lset foreach list0.901.00=8.4=8.4=8.4=8.4
268LIST lset foreach ""s l0.821.00=8.4=8.4=8.4=8.4
269LIST lset foreach ""s list0.831.00=8.4=8.4=8.4=8.4
270LIST regexp search, first item0.551.000.891.250.3627.81
271LIST regexp search, last item0.151.000.970.980.160.71
272LIST regexp search, non-item0.141.000.970.970.120.36
273LIST remove first element0.861.001.120.960.862.30
274LIST remove in mixed list0.691.001.0318.150.862.40
275LIST remove last element0.851.001.110.900.803.29
276LIST remove middle element0.871.001.090.980.873.00
277LIST replace first el with multiple0.881.001.110.950.852.59
278LIST replace first element0.951.001.110.930.822.74
279LIST replace in mixed list0.741.001.0419.190.912.68
280LIST replace last el with multiple0.951.001.080.910.857.30
281LIST replace last element0.961.001.100.930.816.56
282LIST replace middle el with multiple0.901.001.080.970.874.92
283LIST replace middle element0.951.001.030.910.805.01
284LIST replace range0.231.001.030.990.623.47
285LIST small, early range0.901.000.850.850.579.97
286LIST small, late range0.851.000.830.830.5512.71
287LIST sort1.091.001.000.930.891.19
288LIST sorted search, first item1.061.000.640.640.6448.56
289LIST sorted search, last item0.941.003.943.643.3346.97
290LIST sorted search, middle item0.931.001.241.240.9346.27
291LIST sorted search, non-item0.901.0010.2910.299.7145.59
292LIST sorted search, typed item0.911.003.653.653.3445.90
293LIST typed sort0.931.001.350.860.784.52
294LOOP for (to 1000)0.881.001.811.891.9111.37
295LOOP for, iterate list0.711.001.962.161.8890.88
296LOOP for, iterate string0.881.001.941.861.6810.59
297LOOP foreach, iterate list1.491.001.501.571.504.24
298LOOP foreach, iterate string1.421.001.422.452.393.42
299LOOP while (to 1000)0.871.001.781.881.8811.11
300LOOP while 1 (to 1000)0.761.001.751.911.9913.05
301MAP (chars)-case regsub1.101.000.890.980.200.30
302MAP http mapReply0.631.000.910.930.800.37
303MAP regsub -nocase, no match1.031.002.242.090.931.02
304MAP regsub 1 val0.971.003.843.810.651.15
305MAP regsub 1 val -nocase1.041.002.692.650.750.95
306MAP regsub 2 val1.001.006.646.600.631.02
307MAP regsub 2 val -nocase0.911.004.564.490.610.80
308MAP regsub 3 val0.921.005.815.790.540.87
309MAP regsub 3 val -nocase1.061.004.954.940.620.86
310MAP regsub 4 val1.021.006.256.190.590.92
311MAP regsub 4 val -nocase1.051.004.884.830.620.83
312MAP regsub short0.791.002.733.090.641.55
313MAP regsub, no match1.021.007.417.041.782.33
314MAP string -nocase, no match1.101.0010.0210.14nomapnomap
315MAP string 1 val1.011.006.976.65nomapnomap
316MAP string 1 val -nocase0.991.007.427.59nomapnomap
317MAP string 2 val0.981.003.533.47nomapnomap
318MAP string 2 val -nocase1.021.005.745.76nomapnomap
319MAP string 3 val0.891.003.293.36nomapnomap
320MAP string 3 val -nocase0.701.004.094.11nomapnomap
321MAP string 4 val1.001.003.123.18nomapnomap
322MAP string 4 val -nocase1.031.005.065.12nomapnomap
323MAP string short1.071.000.910.91nomapnomap
324MAP string, no match1.011.009.009.10nomapnomap
325MAP |-case regsub1.021.000.870.960.260.38
326MAP |-case strmap0.991.001.241.24nomapnomap
327MATRIX mult 5x51.111.001.641.651.576.83
328MATRIX mult 10x101.131.001.601.601.447.53
329MATRIX mult 15x151.141.001.521.521.388.04
330MATRIX transposition-01.191.002.802.752.406.16
331MATRIX transposition-10.761.002.672.942.4827.84
332MD5 msg len 101.051.001.051.03-=--=-
333MD5 msg len 1001.091.001.051.02-=--=-
334MD5 msg len 10001.111.001.051.00-=--=-
335MD5 msg len 100001.131.001.051.01-=--=-
336MTHD array stored proc call1.001.000.810.810.40-=-
337MTHD call absolute1.021.001.091.090.88-=-
338MTHD call relative0.991.001.090.910.91-=-
339MTHD direct ns proc call1.051.000.611.210.61-=-
340MTHD imported ns proc call0.981.001.101.100.55-=-
341MTHD indirect proc eval0.961.000.991.791.79-=-
342MTHD indirect proc eval #20.571.001.091.091.09-=-
343MTHD inline call1.151.001.331.331.33-=-
344MTHD interp alias proc call0.911.001.361.360.90-=-
345MTHD ns lookup call0.951.000.791.241.05-=-
346MTHD switch method call1.241.000.871.591.30-=-
347NS alternating0.991.000.881.260.54-=-
348PARSE html form upload (7978)0.901.001.321.221.02-=-
349PARSE html form upload (993570)0.921.001.381.291.09-=-
350PROC do-nothing, no args1.011.000.712.840.710.71
351PROC do-nothing, one arg0.901.000.600.600.600.60
352PROC empty, no args1.071.002.389.522.382.38
353PROC empty, use args1.001.004.262.132.132.13
354PROC explicit return1.471.001.160.580.581.16
355PROC explicit return (2)0.971.001.271.271.271.91
356PROC explicit return (3)0.961.000.620.620.620.62
357PROC heavily commented1.041.000.670.670.6748.00
358PROC implicit return0.601.000.720.360.360.72
359PROC implicit return (2)0.961.000.610.610.611.22
360PROC implicit return (3)1.031.000.670.670.670.67
361PROC local links with global0.511.001.231.040.984.48
362PROC local links with upvar0.561.001.271.020.985.00
363PROC local links with variable0.581.001.281.020.635.31
364RE 1-char long-end0.691.000.870.689.7710.00
365RE 1-char long-end catching0.751.001.050.896.927.26
366RE 1-char long-middle0.841.000.840.849.109.69
367RE 1-char long-middle catching0.851.001.041.045.335.70
368RE 1-char long-start0.911.000.860.860.642.79
369RE 1-char long-start catching0.841.001.081.080.761.46
370RE 1-char short0.901.001.040.830.620.83
371RE 1-char short catching0.861.001.131.130.800.67
372RE basic0.981.001.000.750.751.00
373RE basic catching0.791.000.990.990.660.55
374RE c-comment long0.931.000.810.810.811.28
375RE c-comment long catching0.981.001.001.020.510.81
376RE c-comment long nomatch0.801.000.870.790.110.62
377RE c-comment long nomatch catching0.801.000.810.790.140.60
378RE c-comment long pmatch0.811.000.830.833.653.65
379RE c-comment long pmatch catching0.831.000.820.823.413.85
380RE c-comment many *s0.831.000.840.820.891.33
381RE c-comment many *s catching0.921.000.971.000.490.89
382RE c-comment nomatch0.931.000.940.940.470.62
383RE c-comment nomatch catching0.951.000.830.830.420.83
384RE c-comment simple0.961.000.920.920.550.64
385RE c-comment simple catching0.981.001.091.110.340.32
386RE count all matches0.911.000.882.252.414.23
387RE extract all matches0.921.000.882.692.064.76
388RE literal regexp0.801.000.900.790.450.45
389RE n-char long-end0.791.000.811.0211.1011.20
390RE n-char long-end catching0.861.000.971.096.947.03
391RE n-char long-middle0.811.000.820.829.069.47
392RE n-char long-middle catching0.831.001.030.994.604.86
393RE n-char long-start0.811.000.730.730.552.56
394RE n-char long-start catching0.871.001.091.090.651.36
395RE n-char short0.911.000.780.780.580.78
396RE n-char short catching0.901.001.151.090.690.58
397RE static anchored match1.031.003.273.271.311.96
398RE static anchored match dot0.281.000.760.760.310.46
399RE static anchored nomatch1.011.001.861.241.241.86
400RE static anchored nomatch dot0.591.000.970.650.650.97
401RE static l-anchored match0.921.001.592.121.061.59
402RE static l-anchored nomatch0.921.001.121.121.121.12
403RE static long match0.951.002.302.301.463.34
404RE static long nomatch0.871.002.582.431.062.28
405RE static r-anchored match1.041.002.782.221.111.67
406RE static r-anchored nomatch1.031.002.152.151.081.61
407RE static short match1.041.002.812.251.121.69
408RE static short nomatch1.021.001.701.701.141.14
409RE var ***= directive match0.321.000.870.87ERRERR
410RE var ***= directive nomatch0.291.000.810.81ERRERR
411RE var . match0.561.000.910.910.461.37
412RE var ^$ nomatch0.701.000.820.820.821.92
413RE var-based regexp0.901.000.830.940.710.83
414READ 595K, cat0.951.001.791.480.680.95
415READ 595K, gets0.901.002.071.680.851.36
416READ 595K, glob-grep match0.941.001.711.620.871.49
417READ 595K, glob-grep nomatch0.931.002.272.131.091.53
418READ 595K, read0.991.002.202.1815.2315.91
419READ 595K, read & size1.001.002.192.190.8115.99
420READ 595K, read dyn buf1.011.002.198.3+8.3+8.3+
421READ 595K, read small buf1.021.001.128.3+8.3+8.3+
422READ 3050b, cat0.911.001.521.380.650.89
423READ 3050b, gets0.931.001.941.650.921.41
424READ 3050b, glob-grep match0.771.001.401.270.721.19
425READ 3050b, glob-grep nomatch0.891.001.971.890.991.41
426READ 3050b, read1.031.001.631.590.751.16
427READ 3050b, read & size1.071.001.611.610.751.11
428READ 3050b, read dyn buf1.011.001.638.3+8.3+8.3+
429READ 3050b, read small buf0.971.001.118.3+8.3+8.3+
430READ bin 595K, cat0.531.001.421.250.550.78
431READ bin 595K, gets0.531.001.911.530.781.26
432READ bin 595K, glob-grep match0.451.001.571.460.811.37
433READ bin 595K, glob-grep nomatch0.491.002.081.961.011.42
434READ bin 595K, read0.481.000.990.9925.0626.19
435READ bin 595K, read & size0.481.001.000.991.3326.11
436READ bin 595K, read dyn buf0.501.001.018.3+8.3+8.3+
437READ bin 595K, read small buf0.971.000.998.3+8.3+8.3+
438READ bin 3050b, cat0.601.001.391.160.530.72
439READ bin 3050b, gets0.601.001.741.480.781.20
440READ bin 3050b, glob-grep match0.771.001.451.430.811.25
441READ bin 3050b, glob-grep nomatch0.741.001.811.760.901.24
442READ bin 3050b, read0.961.001.101.081.281.78
443READ bin 3050b, read & size0.911.000.930.971.091.56
444READ bin 3050b, read dyn buf1.031.000.948.3+8.3+8.3+
445READ bin 3050b, read small buf1.001.001.008.3+8.3+8.3+
446SHA (A) msg len 100.851.001.291.22-=--=-
447SHA (A) msg len 1000.851.001.301.22-=--=-
448SHA (A) msg len 10000.831.001.321.24-=--=-
449SHA (A) msg len 100000.831.001.311.23-=--=-
450SHA (B) msg len 10-=-1.001.341.27-=--=-
451SHA (B) msg len 100-=-1.001.361.31-=--=-
452SHA (B) msg len 1000-=-1.001.361.32-=--=-
453SHA (B) msg len 10000-=-1.001.391.34-=--=-
454SPLIT iter, 4000 uchars1.391.001.372.111.932.77
455SPLIT iter, 4010 chars1.471.001.382.272.002.87
456SPLIT iter, rand 100 c1.041.001.390.990.76-=-
457SPLIT iter, rand 1000 c1.101.001.301.511.23-=-
458SPLIT iter, rand 10000 c1.221.001.522.271.83-=-
459SPLIT on 'c', 4000 uchars1.161.002.633.311.214.65
460SPLIT on 'c', 4010 chars1.211.002.563.081.304.29
461SPLIT on 'cz', 4000 uchars1.031.001.632.040.832.00
462SPLIT on 'cz', 4010 chars1.031.001.782.100.892.09
463SPLIT on 'cû', 4000 uchars1.001.001.421.720.711.73
464SPLIT on 'cû', 4010 chars1.011.001.651.970.591.84
465SPLIT, 4000 uchars1.121.001.023.292.740.79
466SPLIT, 4010 chars1.441.001.103.773.160.88
467SPLIT, rand 100 c0.721.001.020.520.38-=-
468SPLIT, rand 1000 c1.041.001.021.301.03-=-
469SPLIT, rand 10000 c1.031.001.023.102.46-=-
470STR append0.911.001.251.111.034.72
471STR append (1KB + 1KB)0.931.001.541.381.085.68
472STR append (1MB + (1b + 1K + 1b) * 100)0.991.001.861.861.848.15
473STR append (1MB + 1KB * 20)1.001.001.991.981.979.27
474STR append (1MB + 1KB * 1000)1.001.001.621.601.586.21
475STR append (1MB + 1KB)1.001.002.002.011.999.17
476STR append (1MB + 1MB * 3)1.001.001.251.261.256.18
477STR append (1MB + 1MB * 5)1.001.002.002.001.996.79
478STR append (1MB + 2b * 1000)0.991.002.092.062.058.01
479STR append (10KB + 1KB)0.991.001.191.190.9114.04
480STR first (failure)0.911.000.840.840.783.24
481STR first (failure) utf0.961.003.973.910.843.35
482STR first (success)0.911.001.300.980.6510.42
483STR first (success) utf0.891.001.300.970.6510.39
484STR first (total failure)0.921.000.490.330.333.54
485STR first (total failure) utf0.981.000.610.430.353.99
486STR index 01.081.001.081.080.7212.59
487STR index 1001.001.001.061.060.7113.78
488STR index 5001.111.001.091.090.7213.41
489STR info locals match0.921.001.061.020.873.50
490STR last (failure)0.991.000.910.910.641.98
491STR last (success)0.901.0016.8216.820.6216.51
492STR last (total failure)1.001.000.870.870.462.66
493STR length (==4010)0.951.000.880.880.8815.93
494STR length growing (1000)0.971.002.452.492.406.11
495STR length growing uc (1000)0.981.002.552.522.276.19
496STR length of a LIST0.921.000.930.930.9314.35
497STR length static str1.011.001.231.231.233.07
498STR match, complex (failure 2)0.921.0011.3211.333.683.70
499STR match, complex (failure)0.981.0010.7410.693.535.27
500STR match, complex (success early)0.911.001.481.480.7412.22
501STR match, complex (success late)1.001.008.088.082.814.04
502STR match, complex (total failure)0.951.0014.3514.354.837.24
503STR match, exact (failure)0.981.001.221.220.611.22
504STR match, exact (success)1.031.001.251.250.621.25
505STR match, exact -nocase (failure)0.981.001.141.141.141.70
506STR match, exact -nocase (success)0.911.001.051.050.701.05
507STR match, simple (failure)1.021.001.131.130.561.69
508STR match, simple (success)0.901.001.031.030.521.55
509STR range, index 100..200 of 40100.901.000.760.760.5110.43
510STR repeat, 4010 chars * 100.991.000.981.411.6110.71
511STR repeat, 4010 chars * 1000.991.001.012.092.239.87
512STR repeat, abcdefghij * 100.981.000.861.154.0111.75
513STR repeat, abcdefghij * 1001.001.000.951.7911.9236.08
514STR repeat, abcdefghij * 10000.991.001.291.7315.0647.18
515STR replace, equal replacement0.971.004.684.760.946.48
516STR replace, longer replacement0.931.004.654.570.855.96
517STR replace, no replacement0.971.005.395.311.067.34
518STR reverse iter/append, 10 c0.911.001.811.741.423.31
519STR reverse iter/append, 10 uc0.981.001.951.871.533.56
520STR reverse iter/append, 100 c0.981.002.102.091.714.44
521STR reverse iter/append, 100 uc0.961.002.092.071.674.37
522STR reverse iter/append, 400 c0.991.002.302.261.916.68
523STR reverse iter/append, 400 uc0.921.001.981.921.625.66
524STR reverse iter/set, 10 c0.891.001.391.321.043.13
525STR reverse iter/set, 10 uc0.921.001.331.331.123.09
526STR reverse iter/set, 100 c0.841.001.351.301.033.25
527STR reverse iter/set, 100 uc0.821.001.231.160.922.97
528STR reverse iter/set, 400 c0.911.001.381.261.094.35
529STR reverse iter/set, 400 uc0.931.001.311.261.054.05
530STR reverse recursive, 10 c0.901.001.111.090.872.00
531STR reverse recursive, 10 uc0.911.001.141.120.892.06
532STR reverse recursive, 100 c0.891.001.131.070.821.95
533STR reverse recursive, 100 uc0.921.001.811.460.832.04
534STR reverse recursive, 400 c0.961.001.131.090.938.0+
535STR reverse recursive, 400 uc0.901.002.262.050.878.0+
536STR str $a eq $b0.911.001.471.471.474.42
537STR str $a eq $b (same obj)0.911.001.461.461.464.39
538STR str $a equal ""0.911.001.631.631.225.69
539STR str $a ne $b0.811.001.481.231.233.46
540STR str $a ne $b (same obj)0.941.001.491.491.494.18
541STR str num == ""1.021.001.131.131.135.28
542STR string compare0.861.001.401.121.121.69
543STR string compare ""1.001.001.551.241.243.72
544STR string compare long1.011.001.021.021.004.46
545STR string compare long (same obj)0.831.0011.0811.0810.8048.58
546STR string compare mixed long0.941.000.740.690.672.60
547STR string compare uni long0.951.000.950.970.823.55
548STR string equal ""0.821.001.281.281.283.85
549STR string equal long (!= len)0.931.005.205.085.0824.60
550STR string equal long (== len)1.001.001.051.051.025.60
551STR string equal long (same obj)0.911.0011.4011.1111.1161.54
552STR string equal mixed long0.941.0011.0811.0810.8057.89
553STR string equal uni long0.991.001.031.030.894.25
554STR/LIST length, obj shimmer0.991.001.201.170.010.46
555SWITCH 1st true0.411.000.920.740.742.94
556SWITCH 2nd true0.361.000.880.710.712.83
557SWITCH 9th true0.341.000.840.840.672.70
558SWITCH default true0.321.000.980.810.812.61
559TRACE all set (rwu)0.761.000.780.580.581.16
560TRACE no trace set1.051.001.020.810.811.22
561TRACE read0.621.000.650.480.481.13
562TRACE unset0.801.000.790.590.591.19
563TRACE write0.751.000.760.760.761.14
564UNSET catch var !exist1.621.000.790.890.590.59
565UNSET catch var exists0.591.001.110.550.550.83
566UNSET info check var !exist0.741.000.820.820.821.23
567UNSET info check var exists0.621.000.580.580.581.17
568UNSET nocomplain var !exist0.811.003.043.042.282.28
569UNSET nocomplain var exists0.921.000.850.850.851.27
570UNSET var exists1.531.000.900.900.450.90
571VAR 'array set' of 100 elems0.851.001.551.511.312.65
572VAR 100 'set's in array0.981.000.850.850.962.48
573VAR access global0.921.001.681.681.351.68
574VAR access local proc arg1.491.000.920.920.922.76
575VAR access locally set0.701.000.710.710.711.78
576VAR access upvar0.821.001.271.271.271.91
577VAR incr global var 1000x1.141.001.661.551.689.12
578VAR incr local var 1000x1.171.001.701.651.749.41
579VAR incr upvar var 1000x1.111.001.581.541.668.76
580VAR mset0.751.001.461.211.214.13
581VAR mset (foreach)0.921.001.080.720.722.87
582VAR ref absolute1.541.001.431.471.118.0+
583VAR ref local0.711.001.621.691.628.0+
584VAR ref variable0.781.003.643.783.298.0+
585VAR set array element0.801.000.680.680.681.02
586VAR set scalar0.951.000.600.600.601.19
587WORDCOUNT wc10.921.001.030.970.390.54
588WORDCOUNT wc20.961.002.532.571.131.53
589WORDCOUNT wc30.971.002.562.621.101.20
589BENCHMARKS1:8.5b2.12:8.4.173:8.3.54:8.2.35:8.0.56:7.6p2
 FINISHED 2007-11-16 11:43:32

Category Performance