Version 17 of Tcl Normalized Benchmarks

Updated 2007-11-17 02:17:22 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 16:57:20 (runbench.tcl v1.20)
 Benchmark 1:8.5b2.1 /home/jeffh/install/linux-ix86/bin/canon8.5
 abbccdeeeffghkllmmmmnpprrssstuvw 00:02:10 elapsed
 124908 milliseconds
 Benchmark 2:8.4.17 /home/jeffh/install/linux-ix86/bin/canon8.4
 abbccdeeeffghkllmmmmnpprrssstuvw 00:02:26 elapsed
 141025 milliseconds
 Benchmark 3:8.3.5 /home/jeffh/install/linux-ix86/bin/canon8.3
 abbccdeeeffghkllmmmmnpprrssstuvw 00:04:07 elapsed
 243033 milliseconds
 Benchmark 4:8.2.3 /home/jeffh/install/linux-ix86/bin/canon8.2
 abbccdeeeffghkllmmmmnpprrssstuvw 00:04:01 elapsed
 239295 milliseconds
 Benchmark 5:8.0.5 /home/jeffh/install/linux-ix86/bin/canon8.0
 abbccdeeeffghkllmmmmnpprrssstuvw 00:03:02 elapsed
 171770 milliseconds
 Benchmark 6:7.6p2 /home/jeffh/install/linux-ix86/bin/canon7.6
 abbccdeeeffghkllmmmmnpprrssstuvw 00:07:53 elapsed
 460698 milliseconds
000VERSIONS:1:8.5b2.12:8.4.173:8.3.54:8.2.35:8.0.56:7.6p2
001ARRAY genKeys 501.000.711.441.321.201.72
002ARRAY genKeys 5001.001.140.950.840.751.31
003ARRAY makeHash 500 501.000.950.961.221.101.32
004BASE64 decode 101.001.181.461.451.23-=-
005BASE64 decode 1001.001.211.491.541.32-=-
006BASE64 decode 10001.001.191.481.541.34-=-
007BASE64 decode 100001.001.171.481.551.35-=-
008BASE64 decode2 101.001.191.461.411.22-=-
009BASE64 decode2 1001.001.201.481.521.33-=-
010BASE64 decode2 10001.001.171.461.541.32-=-
011BASE64 decode2 100001.001.171.451.541.34-=-
012BASE64 decode3 101.001.091.561.531.30-=-
013BASE64 decode3 1001.001.131.791.771.54-=-
014BASE64 decode3 10001.001.141.841.861.65-=-
015BASE64 decode3 100001.001.161.881.891.67-=-
016BASE64 encode 101.001.031.651.681.56-=-
017BASE64 encode 1001.001.031.611.651.62-=-
018BASE64 encode 10001.001.021.621.661.64-=-
019BASE64 encode 100001.001.011.641.741.65-=-
020BASE64 encode2 101.001.221.811.762.09-=-
021BASE64 encode2 1001.001.242.122.122.83-=-
022BASE64 encode2 10001.001.252.182.162.95-=-
023BASE64 encode2 100001.001.252.172.262.97-=-
024BASE64 encode3 101.001.051.251.251.09-=-
025BASE64 encode3 1001.001.312.112.001.74-=-
026BASE64 encode3 10001.001.262.252.131.92-=-
027BASE64 encode3 100001.001.312.362.242.01-=-
028BIN bitset-v1 1000 chars1.001.171.301.301.14-=-
029BIN bitset-v1 5000 chars1.001.191.331.491.27-=-
030BIN bitset-v1 10000 chars1.001.191.331.441.27-=-
031BIN bitset-v2 1000 chars1.001.041.241.141.08-=-
032BIN bitset-v2 5000 chars1.001.091.351.231.17-=-
033BIN bitset-v2 10000 chars1.001.091.351.251.18-=-
034BIN bitset-v3 1000 chars1.000.971.911.801.51-=-
035BIN bitset-v3 5000 chars1.000.952.161.991.72-=-
036BIN bitset-v3 10000 chars1.000.962.192.011.74-=-
037BIN c scan, 1000b1.000.990.460.460.37-=-
038BIN c scan, 5000b1.001.130.730.690.55-=-
039BIN c scan, 10000b1.000.940.850.840.72-=-
040BIN chars, 10000b1.000.982.202.091.78-=-
041BIN u char, 10000b1.00-=--=--=--=--=-
042CATCH error, complex1.000.510.490.440.330.44
043CATCH no catch used1.000.610.510.670.340.67
044CATCH return error1.000.560.500.390.390.50
045CATCH return except1.000.690.630.630.420.84
046CATCH return ok1.000.580.510.340.340.85
047DATA access in a list1.001.413.463.293.0967.16
048DATA access in an array1.000.761.281.261.163.39
049DATA create in a list1.000.983.473.033.087.87
050DATA create in an array1.000.841.121.111.482.54
051ENC iso2022-jp, gets1.0040.5613.6413.88-=--=-
052ENC iso2022-jp, read1.0051.6817.0916.93-=--=-
053ENC iso2022-jp, read & size1.0045.3314.6914.89-=--=-
054ENC iso8859-2, gets1.001.581.050.93-=--=-
055ENC iso8859-2, read1.001.620.930.86-=--=-
056ENC iso8859-2, read & size1.001.590.870.86-=--=-
057EVAL cmd and mixed lists1.001.060.822.321.660.25
058EVAL cmd eval as list1.000.831.041.811.551.04
059EVAL cmd eval as string1.000.690.610.710.610.30
060EVAL cmd eval in list obj var1.001.260.832.221.941.11
061EVAL list cmd and mixed lists1.001.060.862.331.680.25
062EVAL list cmd and pure lists1.000.750.5924.7717.412.55
063EXPR $a != $b int1.001.150.940.940.944.69
064EXPR $a != $b str (!= len)1.001.111.061.061.063.19
065EXPR $a != $b str (== len)1.001.291.061.281.062.98
066EXPR $a == $b int1.001.190.940.940.944.72
067EXPR $a == $b str (!= len)1.001.061.261.051.052.93
068EXPR $a == $b str (== len)1.001.211.160.831.002.49
069EXPR braced1.000.791.020.680.683.74
070EXPR fifty operands1.001.031.191.190.924.22
071EXPR incr with expr1.001.120.590.590.591.78
072EXPR incr with incr1.000.971.270.630.631.27
073EXPR inline1.000.950.780.780.631.56
074EXPR one operand1.001.070.620.620.621.25
075EXPR ten operands1.001.091.131.130.753.01
076EXPR unbraced1.000.530.450.390.300.29
077EXPR unbraced long1.001.441.211.200.520.42
078FCOPY binary: 160K1.001.071.051.06-=--=-
079FCOPY encoding: 160K1.001.000.360.37-=--=-
080FCOPY std: 160K1.001.071.051.061.291.25
081FILE exec interp1.000.840.790.680.740.40
082FILE exec interp: pkg require1.000.680.540.480.310.17
083FILE exists tmpfile (obj)1.001.070.970.971.700.73
084FILE exists ~1.001.1227.5828.483.331.82
085FILE exists! tmpfile (obj)1.001.101.101.100.830.83
086FILE exists! tmpfile (str)1.002.270.510.400.300.30
087FILE glob tmpdir (60 entries)1.001.220.931.020.750.72
088FILE glob / all subcommands1.001.050.981.020.800.77
089FILE glob / atime1.000.990.410.420.320.39
090FILE glob / attributes1.000.900.590.670.46-=-
091FILE glob / dirname1.003.031.401.731.421.51
092FILE glob / executable1.001.000.370.420.310.34
093FILE glob / exists1.001.000.370.420.320.35
094FILE glob / extension1.001.510.891.140.941.04
095FILE glob / isdirectory1.000.990.370.420.320.34
096FILE glob / isfile1.000.990.380.420.320.34
097FILE glob / mtime1.001.010.380.430.330.39
098FILE glob / owned1.001.000.400.430.340.36
099FILE glob / readable1.001.000.370.420.320.34
100FILE glob / rootname1.001.400.811.090.890.96
101FILE glob / size1.000.990.370.420.320.38
102FILE glob / tail1.002.411.291.601.341.36
103FILE glob / writable1.001.010.370.430.320.34
104FILE recurse / -dir1.001.250.820.890.840.83
105FILE recurse / cd1.001.780.710.740.730.69
106GCCont_cpb::cGCC 501.000.972.292.241.67-=-
107GCCont_cpb::cGCC 5001.000.852.642.702.28-=-
108GCCont_cpb::cGCC 50001.000.812.612.752.35-=-
109GCCont_cpbre1::cGCC 501.001.041.05-=--=--=-
110GCCont_cpbre1::cGCC 5001.001.030.94-=--=--=-
111GCCont_cpbre1::cGCC 50001.001.010.90-=--=--=-
112GCCont_cpbre2::cGCC 501.001.081.03-=--=--=-
113GCCont_cpbre2::cGCC 5001.001.090.95-=--=--=-
114GCCont_cpbre2::cGCC 50001.001.100.96-=--=--=-
115GCCont_cpbrs2::cGCC 501.001.153.173.20-=--=-
116GCCont_cpbrs2::cGCC 5001.001.055.795.92-=--=-
117GCCont_cpbrs2::cGCC 50001.001.036.626.93-=--=-
118GCCont_cpbrs::cGCC1 501.001.092.993.071.62-=-
119GCCont_cpbrs::cGCC1 5001.001.035.495.661.20-=-
120GCCont_cpbrs::cGCC1 50001.001.006.646.950.90-=-
121GCCont_cpbrs::cGCC2 501.001.103.453.521.74-=-
122GCCont_cpbrs::cGCC2 5001.001.056.266.461.26-=-
123GCCont_cpbrs::cGCC2 50001.001.047.697.910.89-=-
124GCCont_cpbrs_trap::cGCC 501.001.091.051.100.65-=-
125GCCont_cpbrs_trap::cGCC 5001.001.090.981.070.58-=-
126GCCont_cpbrs_trap::cGCC 50001.001.080.971.060.54-=-
127GCCont_expr::cGCC 501.000.910.830.82-=--=-
128GCCont_expr::cGCC 5001.002.362.272.26-=--=-
129GCCont_expr::cGCC 50001.0016.4217.5115.16-=--=-
130GCCont_i::cGCC1 501.002.092.512.451.87-=-
131GCCont_i::cGCC1 5001.002.432.882.802.39-=-
132GCCont_i::cGCC1 50001.002.422.882.842.47-=-
133GCCont_i::cGCC2 501.000.981.591.761.25-=-
134GCCont_i::cGCC2 5001.000.931.641.821.58-=-
135GCCont_i::cGCC2 50001.000.941.671.891.65-=-
136GCCont_i::cGCC3 501.000.951.581.821.25-=-
137GCCont_i::cGCC3 5001.000.901.681.901.65-=-
138GCCont_i::cGCC3 50001.000.901.682.011.74-=-
139GCCont_r1::cGCC 501.002.233.212.882.25-=-
140GCCont_r1::cGCC 5001.002.313.272.902.29-=-
141GCCont_r1::cGCC 50001.002.293.292.892.29-=-
142GCCont_r2::cGCC 501.002.362.782.632.04-=-
143GCCont_r2::cGCC 5001.002.602.922.802.30-=-
144GCCont_r2::cGCC 50001.002.482.902.932.41-=-
145GCCont_r3::cGCC 501.002.192.522.521.95-=-
146GCCont_r3::cGCC 5001.002.372.772.722.27-=-
147GCCont_r3::cGCC 50001.002.382.782.772.29-=-
148GCCont_rsf1::cGCC 501.000.971.381.63-=--=-
149GCCont_rsf1::cGCC 5001.000.901.291.78-=--=-
150GCCont_rsf1::cGCC 50001.000.881.271.84-=--=-
151GCCont_rsf2::cGCC1 501.001.031.361.65-=--=-
152GCCont_rsf2::cGCC1 5001.000.901.451.86-=--=-
153GCCont_rsf2::cGCC1 50001.000.911.521.99-=--=-
154GCCont_rsf2::cGCC2 501.001.021.211.46-=--=-
155GCCont_rsf2::cGCC2 5001.000.931.401.84-=--=-
156GCCont_rsf2::cGCC2 50001.000.891.441.92-=--=-
157GCCont_rsf3::cGCC 501.001.011.181.42-=--=-
158GCCont_rsf3::cGCC 5001.000.941.451.89-=--=-
159GCCont_rsf3::cGCC 50001.000.891.431.92-=--=-
160GCCont_turing::cGCC 501.001.221.581.54-=--=-
161GCCont_turing::cGCC 5001.001.051.831.87-=--=-
162GCCont_turing::cGCC 50001.001.062.042.05-=--=-
163HEAPSORT size 101.000.931.201.1812.856.61
164HEAPSORT size 501.000.841.071.078.175.85
165HEAPSORT size 1001.000.861.081.067.025.71
166HEAPSORT2 size 101.001.34-=--=--=--=-
167HEAPSORT2 size 501.001.37-=--=--=--=-
168HEAPSORT2 size 1001.001.39-=--=--=--=-
169IF 1/0 check1.001.041.231.231.233.70
170IF else true al1.001.491.431.431.433.72
171IF else true numeric1.001.141.281.281.285.56
172IF elseif true al1.001.341.381.381.383.58
173IF elseif true numeric1.001.411.371.031.374.12
174IF if false al/al1.001.541.521.521.143.80
175IF if false al/num1.001.181.081.081.084.68
176IF if false num/num1.000.980.830.830.834.13
177IF if true al1.001.141.501.121.123.75
178IF if true al/al1.001.161.431.431.433.23
179IF if true num/num1.001.040.880.880.884.39
180IF if true numeric1.001.000.830.830.834.13
181IF multi 1st true1.001.090.880.880.887.08
182IF multi 2nd true1.001.081.241.241.247.02
183IF multi 9th true1.001.251.731.731.459.54
184IF multi default true1.001.151.661.661.668.84
185KLIST shuffle0 llength 11.001.101.731.641.478.0+
186KLIST shuffle0 llength 101.001.091.891.811.748.0+
187KLIST shuffle0 llength 1001.001.021.741.701.488.0+
188KLIST shuffle0 llength 10001.000.981.641.551.428.0+
189KLIST shuffle0 llength 100001.001.031.231.231.05-=-
190KLIST shuffle1-s llength 11.001.141.521.220.814.87
191KLIST shuffle1-s llength 101.001.131.681.211.114.93
192KLIST shuffle1-s llength 1001.001.001.300.910.864.65
193KLIST shuffle1-s llength 10001.001.021.120.680.724.34
194KLIST shuffle1a llength 11.001.131.241.160.833.32
195KLIST shuffle1a llength 101.001.031.141.101.004.66
196KLIST shuffle1a llength 1001.001.011.101.100.989.07
197KLIST shuffle1a llength 10001.001.021.251.110.9947.44
198KLIST shuffle1a llength 100001.001.011.091.191.01-=-
199KLIST shuffle2 llength 11.000.941.331.181.333.45
200KLIST shuffle2 llength 101.000.730.970.921.213.20
201KLIST shuffle2 llength 1001.000.690.940.851.163.04
202KLIST shuffle2 llength 10001.000.700.890.801.082.72
203KLIST shuffle2 llength 100001.000.720.870.821.06-=-
204KLIST shuffle3 llength 11.001.081.411.411.013.03
205KLIST shuffle3 llength 101.000.971.311.221.184.59
206KLIST shuffle3 llength 1001.000.901.151.131.005.96
207KLIST shuffle3 llength 10001.000.961.211.191.0618.72
208KLIST shuffle3 llength 100001.000.961.121.231.12-=-
209KLIST shuffle4 llength 11.001.121.501.501.103.20
210KLIST shuffle4 llength 101.001.011.421.321.234.94
211KLIST shuffle4 llength 1001.000.971.351.281.137.96
212KLIST shuffle4 llength 10001.000.991.361.281.1134.35
213KLIST shuffle4 llength 100001.000.971.421.271.16-=-
214KLIST shuffle5-s llength 11.000.940.990.990.824.11
215KLIST shuffle5-s llength 101.001.021.270.880.774.11
216KLIST shuffle5-s llength 1001.001.151.410.830.773.76
217KLIST shuffle5-s llength 10001.001.111.400.710.752.95
218KLIST shuffle5a llength 11.000.951.080.950.813.92
219KLIST shuffle5a llength 101.000.920.920.860.743.95
220KLIST shuffle5a llength 1001.000.930.880.800.705.11
221KLIST shuffle5a llength 10001.000.870.860.780.7013.29
222KLIST shuffle5a llength 100001.000.950.960.920.90-=-
223KLIST shuffle6 llength 11.000.89-=--=--=--=-
224KLIST shuffle6 llength 101.000.89-=--=--=--=-
225KLIST shuffle6 llength 1001.000.88-=--=--=--=-
226KLIST shuffle6 llength 10001.000.87-=--=--=--=-
227KLIST shuffle6 llength 100001.000.93-=--=--=--=-
228LIST append to list1.000.981.601.601.601.20
229LIST concat APPEND 2x101.001.041.391.060.820.41
230LIST concat APPEND 2x1001.001.051.311.120.980.24
231LIST concat APPEND 2x10001.001.061.281.100.950.20
232LIST concat APPEND 2x100001.001.091.261.100.980.18
233LIST concat CONCAT 2x101.001.231.252.492.001.75
234LIST concat CONCAT 2x1001.001.511.3715.2413.364.97
235LIST concat CONCAT 2x10001.001.361.2427.8924.527.13
236LIST concat CONCAT 2x100001.001.071.2624.8122.115.50
237LIST concat EVAL/LAPPEND 2x101.001.001.261.841.381.03
238LIST concat EVAL/LAPPEND 2x1001.001.061.113.162.614.03
239LIST concat EVAL/LAPPEND 2x10001.000.810.703.963.815.53
240LIST concat EVAL/LAPPEND 2x100001.001.020.805.423.495.04
241LIST concat FOREACH/LAPPEND 2x101.001.612.802.451.752.33
242LIST concat FOREACH/LAPPEND 2x1001.000.701.881.851.792.42
243LIST concat FOREACH/LAPPEND 2x10001.000.742.112.122.002.53
244LIST concat FOREACH/LAPPEND 2x100001.000.722.182.171.932.59
245LIST concat SET 2x101.001.071.031.030.820.62
246LIST concat SET 2x1001.001.031.151.060.900.29
247LIST concat SET 2x10001.001.021.201.060.900.22
248LIST concat SET 2x100001.001.051.231.070.950.21
249LIST exact search, first item1.001.050.700.700.7054.23
250LIST exact search, last item1.001.020.920.920.8411.66
251LIST exact search, middle item1.001.020.860.860.6532.47
252LIST exact search, non-item1.000.980.940.940.914.15
253LIST exact search, typed item1.001.151.641.641.5121.10
254LIST exact search, untyped item1.000.940.870.870.8710.97
255LIST index first element1.001.060.900.900.9014.93
256LIST index last element1.001.110.840.840.8418.99
257LIST index middle element1.001.090.910.910.9116.89
258LIST insert an item at "end"1.001.031.051.340.826.53
259LIST insert an item at middle1.001.111.131.610.953.28
260LIST insert an item at start1.001.101.181.650.942.54
261LIST iterate list1.001.382.862.632.82280.33
262LIST join list1.001.011.021.000.761.17
263LIST large, early range1.001.090.910.910.738.00
264LIST large, late range1.001.150.980.980.989.39
265LIST length, pure list1.001.020.910.910.9180.45
266LIST list1.000.891.431.001.002.58
267LIST lset foreach l1.001.10=8.4=8.4=8.4=8.4
268LIST lset foreach list1.001.10=8.4=8.4=8.4=8.4
269LIST lset foreach ""s l1.001.22=8.4=8.4=8.4=8.4
270LIST lset foreach ""s list1.001.23=8.4=8.4=8.4=8.4
271LIST regexp search, first item1.001.901.602.240.6447.76
272LIST regexp search, last item1.006.426.436.301.094.60
273LIST regexp search, non-item1.006.916.816.770.842.50
274LIST remove first element1.001.181.391.701.012.71
275LIST remove in mixed list1.001.401.5127.031.263.47
276LIST remove last element1.001.141.321.641.013.77
277LIST remove middle element1.001.151.311.691.003.31
278LIST replace first el with multiple1.001.141.331.630.962.83
279LIST replace first element1.001.041.211.330.852.97
280LIST replace in mixed list1.001.251.3426.071.103.48
281LIST replace last el with multiple1.001.061.201.380.907.88
282LIST replace last element1.001.061.241.430.876.94
283LIST replace middle el with multiple1.001.081.251.490.955.65
284LIST replace middle element1.001.061.221.350.865.57
285LIST replace range1.004.324.845.202.6915.59
286LIST reverse core1.008.5+8.5+8.5+8.5+8.5+
287LIST reverse lappend1.001.313.563.243.14102.54
288LIST small, early range1.001.360.960.960.6410.19
289LIST small, late range1.001.110.960.960.6414.42
290LIST sort1.000.940.910.890.911.14
291LIST sorted search, first item1.001.120.670.670.6750.17
292LIST sorted search, last item1.001.023.753.753.4448.44
293LIST sorted search, middle item1.001.071.321.320.9950.17
294LIST sorted search, non-item1.001.1912.1611.8211.1553.38
295LIST sorted search, typed item1.001.134.114.113.7751.71
296LIST typed sort1.001.131.510.960.975.11
297LOOP for (to 1000)1.001.112.072.162.1812.98
298LOOP for, iterate list1.001.412.763.052.65128.30
299LOOP for, iterate string1.001.132.192.101.8911.92
300LOOP foreach, iterate list1.000.681.011.061.012.85
301LOOP foreach, iterate string1.000.711.011.741.692.43
302LOOP while (to 1000)1.001.122.042.162.1612.76
303LOOP while 1 (to 1000)1.001.332.292.502.6117.08
304MAP ([chars])-case regsub1.001.070.961.080.220.31
305MAP http mapReply1.001.771.631.651.410.65
306MAP regsub -nocase, no match1.001.022.182.061.001.01
307MAP regsub 1 val1.001.033.903.880.631.16
308MAP regsub 1 val -nocase1.000.962.612.580.670.94
309MAP regsub 2 val1.001.006.686.650.651.02
310MAP regsub 2 val -nocase1.000.954.984.910.640.88
311MAP regsub 3 val1.000.996.406.390.600.96
312MAP regsub 3 val -nocase1.000.944.674.670.570.83
313MAP regsub 4 val1.001.016.266.220.610.92
314MAP regsub 4 val -nocase1.000.984.784.730.590.82
315MAP regsub short1.001.343.483.960.842.04
316MAP regsub, no match1.000.977.136.811.692.30
317MAP string -nocase, no match1.000.929.279.37nomapnomap
318MAP string 1 val1.001.026.916.60nomapnomap
319MAP string 1 val -nocase1.001.007.787.92nomapnomap
320MAP string 2 val1.001.003.573.52nomapnomap
321MAP string 2 val -nocase1.000.975.775.79nomapnomap
322MAP string 3 val1.001.003.693.77nomapnomap
323MAP string 3 val -nocase1.000.945.875.92nomapnomap
324MAP string 4 val1.001.023.133.19nomapnomap
325MAP string 4 val -nocase1.000.984.965.03nomapnomap
326MAP string short1.001.010.940.94nomapnomap
327MAP string, no match1.001.009.449.54nomapnomap
328MAP |-case regsub1.001.110.961.040.290.43
329MAP |-case strmap1.001.011.261.26nomapnomap
330MATRIX mult 5x51.000.921.501.521.466.25
331MATRIX mult 10x101.000.881.401.401.266.60
332MATRIX mult 15x151.000.881.341.341.237.06
333MATRIX transposition-01.000.842.352.312.245.17
334MATRIX transposition-11.001.323.553.933.2937.08
335MD5 msg len 101.000.920.970.98-=--=-
336MD5 msg len 1001.000.920.950.95-=--=-
337MD5 msg len 10001.000.900.940.90-=--=-
338MD5 msg len 100001.000.900.940.91-=--=-
339MTHD array stored proc call1.001.050.870.870.44-=-
340MTHD call absolute1.000.961.061.060.85-=-
341MTHD call relative1.001.031.110.930.74-=-
342MTHD direct ns proc call1.000.580.350.350.35-=-
343MTHD imported ns proc call1.001.081.180.591.18-=-
344MTHD indirect proc eval1.001.281.021.841.43-=-
345MTHD indirect proc eval #21.001.821.661.901.66-=-
346MTHD inline call1.000.690.970.970.00-=-
347MTHD interp alias proc call1.001.111.461.460.97-=-
348MTHD ns lookup call1.001.060.851.341.13-=-
349MTHD switch method call1.000.810.711.301.06-=-
350NS alternating1.001.020.911.350.56-=-
351PARSE html form upload (7978)1.001.081.451.341.13-=-
352PARSE html form upload (993570)1.001.081.501.371.16-=-
353PROC do-nothing, no args1.000.970.683.420.680.68
354PROC do-nothing, one arg1.001.170.660.660.660.66
355PROC empty, no args1.000.982.228.892.222.22
356PROC empty, use args1.000.944.264.262.132.13
357PROC explicit return1.001.491.120.560.561.12
358PROC explicit return (2)1.001.031.951.950.651.30
359PROC explicit return (3)1.001.030.660.660.660.66
360PROC heavily commented1.000.970.650.650.6549.35
361PROC implicit return1.000.991.260.630.631.26
362PROC implicit return (2)1.001.070.630.631.261.26
363PROC implicit return (3)1.001.030.650.650.650.65
364PROC local links with global1.002.052.432.101.948.85
365PROC local links with upvar1.001.762.291.841.789.05
366PROC local links with variable1.001.762.251.791.099.27
367RE 1-char long-end1.001.471.250.9913.2114.00
368RE 1-char long-end catching1.001.351.331.178.458.94
369RE 1-char long-middle1.001.201.011.0110.1811.29
370RE 1-char long-middle catching1.001.211.221.225.806.60
371RE 1-char long-start1.001.060.910.910.682.95
372RE 1-char long-start catching1.001.151.271.270.891.72
373RE 1-char short1.001.100.930.930.700.93
374RE 1-char short catching1.001.081.271.270.890.75
375RE basic1.001.121.110.830.831.11
376RE basic catching1.001.271.241.240.760.69
377RE c-comment long1.001.181.040.990.991.56
378RE c-comment long catching1.000.940.950.950.480.77
379RE c-comment long nomatch1.001.251.061.030.140.74
380RE c-comment long nomatch catching1.001.261.020.990.170.75
381RE c-comment long pmatch1.001.241.031.034.014.65
382RE c-comment long pmatch catching1.001.180.970.973.984.55
383RE c-comment many *s1.001.210.990.991.151.71
384RE c-comment many *s catching1.001.101.071.110.541.04
385RE c-comment nomatch1.001.151.051.050.350.70
386RE c-comment nomatch catching1.001.000.840.980.420.84
387RE c-comment simple1.001.081.090.990.500.69
388RE c-comment simple catching1.001.071.141.160.380.33
389RE count all matches1.001.080.952.442.204.58
390RE extract all matches1.001.100.952.832.215.16
391RE literal regexp1.001.351.201.200.600.60
392RE n-char long-end1.001.261.031.2913.6014.18
393RE n-char long-end catching1.001.191.151.297.828.32
394RE n-char long-middle1.001.200.970.9710.2311.40
395RE n-char long-middle catching1.001.221.261.175.145.91
396RE n-char long-start1.001.260.900.900.683.16
397RE n-char long-start catching1.001.151.231.230.741.60
398RE n-char short1.001.170.880.880.660.88
399RE n-char short catching1.001.121.291.290.710.64
400RE static anchored match1.001.083.183.181.271.91
401RE static anchored match dot1.003.462.822.821.131.69
402RE static anchored nomatch1.000.951.821.211.211.82
403RE static anchored nomatch dot1.001.821.781.181.181.78
404RE static l-anchored match1.001.002.221.671.111.67
405RE static l-anchored nomatch1.001.101.201.201.201.81
406RE static long match1.001.022.472.471.353.36
407RE static long nomatch1.001.153.032.861.182.86
408RE static r-anchored match1.000.932.632.111.051.58
409RE static r-anchored nomatch1.000.952.052.051.031.54
410RE static short match1.001.032.702.161.081.62
411RE static short nomatch1.000.921.521.521.021.02
412RE var ***= directive match1.003.332.722.72-=--=-
413RE var ***= directive nomatch1.003.372.732.73-=--=-
414RE var . match1.001.511.381.380.692.42
415RE var ^$ nomatch1.001.411.171.170.782.34
416RE var-based regexp1.001.110.970.970.830.97
417READ 595K, cat1.001.041.881.550.841.00
418READ 595K, gets1.001.082.271.821.321.49
419READ 595K, glob-grep match1.001.151.861.751.521.62
420READ 595K, glob-grep nomatch1.001.092.482.321.661.68
421READ 595K, read1.001.062.342.3418.7919.62
422READ 595K, read & size1.001.062.352.360.8819.75
423READ 595K, read dyn buf1.000.982.238.3+8.3+8.3+
424READ 595K, read small buf1.001.211.378.3+8.3+8.3+
425READ 3050b, cat1.001.081.691.570.870.99
426READ 3050b, gets1.001.102.091.771.491.53
427READ 3050b, glob-grep match1.001.171.781.681.381.55
428READ 3050b, glob-grep nomatch1.001.022.192.101.441.58
429READ 3050b, read1.001.071.711.610.801.15
430READ 3050b, read & size1.001.071.601.710.841.13
431READ 3050b, read dyn buf1.001.091.668.3+8.3+8.3+
432READ 3050b, read small buf1.001.251.358.3+8.3+8.3+
433READ bin 595K, cat1.002.002.692.361.051.47
434READ bin 595K, gets1.001.783.382.721.622.22
435READ bin 595K, glob-grep match1.002.263.423.232.623.00
436READ bin 595K, glob-grep nomatch1.002.074.224.002.662.87
437READ bin 595K, read1.002.262.292.3559.3661.89
438READ bin 595K, read & size1.002.302.312.372.8262.20
439READ bin 595K, read dyn buf1.002.182.228.3+8.3+8.3+
440READ bin 595K, read small buf1.001.341.338.3+8.3+8.3+
441READ bin 3050b, cat1.001.762.311.941.261.22
442READ bin 3050b, gets1.001.562.592.171.641.76
443READ bin 3050b, glob-grep match1.001.331.821.751.471.52
444READ bin 3050b, glob-grep nomatch1.001.312.492.311.771.66
445READ bin 3050b, read1.001.321.131.031.391.80
446READ bin 3050b, read & size1.001.161.120.971.311.61
447READ bin 3050b, read dyn buf1.001.171.068.3+8.3+8.3+
448READ bin 3050b, read small buf1.001.321.318.3+8.3+8.3+
449SHA (A) msg len 101.001.181.511.42-=--=-
450SHA (A) msg len 1001.001.161.521.40-=--=-
451SHA (A) msg len 10001.001.191.561.48-=--=-
452SHA (A) msg len 100001.001.201.571.48-=--=-
453SHA (B) msg len 10-=-641.05852.00811.00-=--=-
454SHA (B) msg len 100-=-1171.601579.001493.00-=--=-
455SHA (B) msg len 1000-=-8307.5011373.0011020.00-=--=-
456SHA (B) msg len 10000-=-79156.80109957.0106350.0-=--=-
457SPLIT iter, 4000 uchars1.000.720.981.541.391.97
458SPLIT iter, 4010 chars1.000.680.941.561.371.96
459SPLIT iter, rand 100 c1.000.971.330.970.74-=-
460SPLIT iter, rand 1000 c1.000.911.191.381.12-=-
461SPLIT iter, rand 10000 c1.000.821.251.881.52-=-
462SPLIT on 'c', 4000 uchars1.000.872.252.871.063.88
463SPLIT on 'c', 4010 chars1.000.872.202.661.123.83
464SPLIT on 'cz', 4000 uchars1.000.981.602.000.811.97
465SPLIT on 'cz', 4010 chars1.000.981.712.070.872.07
466SPLIT on 'cû', 4000 uchars1.001.011.441.740.711.70
467SPLIT on 'cû', 4010 chars1.000.931.471.900.581.78
468SPLIT, 4000 uchars1.000.890.892.932.470.70
469SPLIT, 4010 chars1.000.700.782.592.210.58
470SPLIT, rand 100 c1.001.351.400.720.51-=-
471SPLIT, rand 1000 c1.000.970.991.251.00-=-
472SPLIT, rand 10000 c1.000.970.983.072.44-=-
473STR append1.000.981.201.120.974.79
474STR append (1KB + 1KB)1.001.111.691.521.016.42
475STR append (1MB + (1b+1K+1b)*100)1.000.921.681.821.817.42
476STR append (1MB + 1KB)1.000.961.882.052.048.73
477STR append (1MB + 1KB*20)1.000.961.852.022.018.45
478STR append (1MB + 1KB*1000)1.000.951.481.641.615.68
479STR append (1MB + 1MB*3)1.000.921.151.271.275.76
480STR append (1MB + 1MB*5)1.000.931.951.961.956.28
481STR append (1MB + 2b*1000)1.000.982.002.132.127.62
482STR append (10KB + 1KB)1.000.951.731.481.3618.37
483STR first (failure)1.001.010.920.920.853.34
484STR first (failure) utf1.001.014.114.040.873.46
485STR first (success)1.001.101.071.070.7112.81
486STR first (success) utf1.001.141.091.090.7311.64
487STR first (total failure)1.001.020.440.350.354.08
488STR first (total failure) utf1.000.990.430.430.343.87
489STR index 01.000.981.051.050.7011.85
490STR index 1001.000.981.361.020.6812.20
491STR index 5001.001.011.041.040.6912.11
492STR info locals match1.001.111.181.160.963.99
493STR last (failure)1.001.010.920.920.642.05
494STR last (success)1.001.0918.5318.880.7021.68
495STR last (total failure)1.001.060.880.880.592.76
496STR length (==4010)1.001.040.920.920.9216.51
497STR length growing (1000)1.000.992.452.492.266.07
498STR length growing uc (1000)1.001.052.512.622.356.31
499STR length of a LIST1.001.010.940.940.9414.08
500STR length static str1.000.951.201.201.203.01
501STR match, complex (failure 2)1.001.0612.2612.273.984.02
502STR match, complex (failure)1.001.0610.4310.433.395.14
503STR match, complex (success early)1.001.071.601.601.2012.40
504STR match, complex (success late)1.001.017.978.002.564.04
505STR match, complex (total failure)1.001.0915.2415.174.887.81
506STR match, exact (failure)1.001.031.231.230.621.23
507STR match, exact (success)1.001.031.241.241.241.24
508STR match, exact -nocase (failure)1.001.041.191.191.191.79
509STR match, exact -nocase (success)1.001.031.140.760.761.14
510STR match, simple (failure)1.001.091.211.210.611.82
511STR match, simple (success)1.001.011.121.120.561.68
512STR range, index 100..200 of 40101.001.090.840.840.849.78
513STR repeat, 4010 chars * 101.001.071.031.641.6711.00
514STR repeat, 4010 chars * 1001.001.121.122.312.469.32
515STR repeat, abcdefghij * 101.001.010.861.154.0312.10
516STR repeat, abcdefghij * 1001.001.000.951.7911.9735.61
517STR repeat, abcdefghij * 10001.000.990.991.7314.9846.81
518STR replace, equal replacement1.000.985.265.181.046.56
519STR replace, longer replacement1.001.015.225.141.016.66
520STR replace, no replacement1.001.125.665.851.117.06
521STR reverse core, 10 c1.008.5+8.5+8.5+8.5+8.5+
522STR reverse core, 10 uc1.008.5+8.5+8.5+8.5+8.5+
523STR reverse core, 100 c1.008.5+8.5+8.5+8.5+8.5+
524STR reverse core, 100 uc1.008.5+8.5+8.5+8.5+8.5+
525STR reverse core, 400 c1.008.5+8.5+8.5+8.5+8.5+
526STR reverse core, 400 uc1.008.5+8.5+8.5+8.5+8.5+
527STR reverse iter/append, 10 c1.001.072.002.001.503.50
528STR reverse iter/append, 10 uc1.001.041.961.881.473.43
529STR reverse iter/append, 100 c1.001.002.322.331.854.77
530STR reverse iter/append, 100 uc1.000.982.082.131.714.38
531STR reverse iter/append, 400 c1.000.952.232.251.826.35
532STR reverse iter/append, 400 uc1.000.932.002.111.695.83
533STR reverse iter/set, 10 c1.001.041.461.461.163.28
534STR reverse iter/set, 10 uc1.001.111.481.481.183.25
535STR reverse iter/set, 100 c1.001.171.591.551.203.85
536STR reverse iter/set, 100 uc1.001.191.541.501.143.65
537STR reverse iter/set, 400 c1.001.081.491.451.144.53
538STR reverse iter/set, 400 uc1.001.031.401.391.114.23
539STR reverse recursive, 10 c1.001.091.211.190.902.13
540STR reverse recursive, 10 uc1.001.041.221.200.882.18
541STR reverse recursive, 100 c1.001.251.371.270.962.25
542STR reverse recursive, 100 uc1.001.232.171.720.972.25
543STR reverse recursive, 400 c1.001.121.261.231.048.0+
544STR reverse recursive, 400 uc1.001.182.642.411.048.0+
545STR str $a eq $b1.001.131.631.631.635.23
546STR str $a eq $b (same obj)1.001.111.641.641.644.92
547STR str $a equal ""1.001.111.771.771.776.19
548STR str $a ne $b1.001.151.571.571.254.39
549STR str $a ne $b (same obj)1.000.981.491.491.494.18
550STR str num == ""1.001.011.151.151.155.73
551STR string compare1.001.091.221.221.222.13
552STR string compare ""1.001.091.241.241.243.73
553STR string compare long1.001.011.021.021.024.89
554STR string compare long (same obj)1.001.1413.2213.2212.8861.02
555STR string compare mixed long1.001.090.730.710.713.06
556STR string compare uni long1.001.040.990.990.854.02
557STR string equal ""1.001.171.561.561.564.28
558STR string equal long (!= len)1.001.075.835.705.5726.42
559STR string equal long (== len)1.001.011.051.051.055.51
560STR string equal long (same obj)1.001.1112.7012.7012.3864.13
561STR string equal mixed long1.001.0712.1711.8711.5761.42
562STR string equal uni long1.001.011.041.040.934.63
563STR/LIST length, obj shimmer1.001.001.211.090.010.48
564SWITCH 1st true1.002.752.381.901.907.62
565SWITCH 2nd true1.002.672.451.961.967.84
566SWITCH 9th true1.002.872.362.362.367.55
567SWITCH default true1.003.093.032.532.538.08
568TRACE all set (rwu)1.001.281.010.760.761.52
569TRACE no trace set1.001.341.480.991.231.48
570TRACE read1.000.950.780.780.581.16
571TRACE unset1.001.261.000.750.751.50
572TRACE write1.001.630.970.730.731.46
573UNSET catch var !exist1.000.610.490.620.370.37
574UNSET catch var exists1.000.870.670.671.001.00
575UNSET info check var !exist1.001.050.830.830.831.24
576UNSET info check var exists1.001.460.940.940.941.88
577UNSET nocomplain var !exist1.001.223.744.213.272.34
578UNSET nocomplain var exists1.001.140.930.930.931.39
579UNSET var exists1.001.700.980.980.980.98
580VAR 'array set' of 100 elems1.001.171.751.791.593.17
581VAR 100 'set's in array1.000.960.920.881.002.61
582VAR access global1.001.221.591.591.591.98
583VAR access local proc arg1.000.960.991.480.992.96
584VAR access locally set1.000.910.620.620.621.55
585VAR access upvar1.001.201.531.531.532.30
586VAR incr global var 1000x1.000.861.471.361.467.97
587VAR incr local var 1000x1.000.861.461.411.488.03
588VAR incr upvar var 1000x1.000.881.411.361.487.79
589VAR mset1.001.331.961.631.635.56
590VAR mset (foreach)1.001.101.170.780.783.12
591VAR ref absolute1.000.650.890.930.718.0+
592VAR ref local1.001.402.292.392.298.0+
593VAR ref variable1.001.334.974.974.128.0+
594VAR set array element1.001.290.860.860.861.29
595VAR set scalar1.001.030.630.630.631.26
596WORDCOUNT wc11.001.091.111.060.430.59
597WORDCOUNT wc21.001.022.562.621.141.54
598WORDCOUNT wc31.001.022.652.731.121.24
598BENCHMARKS1:8.5b2.12:8.4.173:8.3.54:8.2.35:8.0.56:7.6p2
 FINISHED 2007-11-16 17:20:59

Category Performance