Tcl Normalized Benchmarks

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.6b1.2 2:8.5.9 3:8.4.19 4:8.3.5 5:8.2.3 6:8.0.5 7:7.6p2
 STARTED 2010-09-27 19:45:28 (runbench.tcl v1.23)
 Benchmark 1:8.6b1.2 /Users/jeffh/install/Darwin/bin/canon8.6
 aabbccdeeeffghkllmmmmnpprrssstuuvw 00:02:10 elapsed
 126703 milliseconds
 Benchmark 2:8.5.9 /Users/jeffh/install/Darwin/bin/canon8.5
 aabbccdeeeffghkllmmmmnpprrssstuuvw 00:01:56 elapsed
 112382 milliseconds
 Benchmark 3:8.4.19 /Users/jeffh/install/Darwin/bin/canon8.4
 aabbccdeeeffghkllmmmmnpprrssstuuvw 00:01:33 elapsed
 89092 milliseconds
 Benchmark 4:8.3.5 /Users/jeffh/install/Darwin/bin/canon8.3
 aabbccdeeeffghkllmmmmnpprrssstuuvw 00:01:59 elapsed
 116928 milliseconds
 Benchmark 5:8.2.3 /Users/jeffh/install/Darwin/bin/canon8.2
 aabbccdeeeffghkllmmmmnpprrssstuuvw 00:02:02 elapsed
 123218 milliseconds
 Benchmark 6:8.0.5 /Users/jeffh/install/Darwin/bin/canon8.0
 aabbccdeeeffghkllmmmmnpprrssstuuvw 00:01:43 elapsed
 104254 milliseconds
 Benchmark 7:7.6p2 /Users/jeffh/install/Darwin/bin/canon7.6
 aabbccdeeeffghkllmmmmnpprrssstuuvw 00:02:33 elapsed
 154203 milliseconds
000VERSIONS:1:8.6b1.22:8.5.93:8.4.194:8.3.55:8.2.36:8.0.57:7.6p2
001ARRAY genKeys 502.402.231.001.221.241.071.75
002ARRAY genKeys 5002.402.311.001.261.291.131.79
003ARRAY makeHash 500 501.141.071.001.021.201.231.49
004ascii85 strlen 26901.791.321.00-=--=--=--=-
005ascii85 strlen 2690001.671.311.00-=--=--=--=-
006BASE64 decode 101.040.971.001.181.181.27-=-
007BASE64 decode 1001.050.931.001.241.341.46-=-
008BASE64 decode 10001.040.901.001.261.431.50-=-
009BASE64 decode 100001.040.911.001.261.411.52-=-
010BASE64 decode2 101.040.961.001.181.151.24-=-
011BASE64 decode2 1000.990.921.001.211.291.41-=-
012BASE64 decode2 10000.970.891.001.241.391.48-=-
013BASE64 decode2 100000.960.881.001.261.371.49-=-
014BASE64 decode3 101.401.151.001.341.341.34-=-
015BASE64 decode3 1001.271.081.001.621.601.53-=-
016BASE64 decode3 10001.271.061.001.751.721.63-=-
017BASE64 decode3 100001.281.031.001.761.721.66-=-
018BASE64 encode 101.391.191.001.491.491.76-=-
019BASE64 encode 1001.401.241.001.631.772.30-=-
020BASE64 encode 10001.421.251.001.741.882.40-=-
021BASE64 encode 100001.441.261.001.721.852.41-=-
022BASE64 encode2 101.040.941.001.571.461.80-=-
023BASE64 encode2 1001.030.931.001.831.862.39-=-
024BASE64 encode2 10001.030.901.001.861.922.49-=-
025BASE64 encode2 100001.020.931.001.841.902.50-=-
026BASE64 encode3 101.301.171.001.281.201.20-=-
027BASE64 encode3 1001.040.931.001.821.801.71-=-
028BASE64 encode3 10000.940.811.002.022.011.89-=-
029BASE64 encode3 100000.940.821.002.062.071.91-=-
030BIN bitset-v1 1000 chars3.032.161.000.951.061.02-=-
031BIN bitset-v1 5000 chars3.212.341.000.971.161.12-=-
032BIN bitset-v1 10000 chars3.072.231.000.901.101.08-=-
033BIN bitset-v2 1000 chars3.152.101.001.241.231.18-=-
034BIN bitset-v2 5000 chars3.342.251.001.341.281.29-=-
035BIN bitset-v2 10000 chars3.452.301.001.331.281.33-=-
036BIN bitset-v3 1000 chars1.551.261.001.691.771.67-=-
037BIN bitset-v3 5000 chars1.591.291.002.152.262.13-=-
038BIN bitset-v3 10000 chars1.581.281.002.222.342.19-=-
039BIN c scan, 1000b1.051.021.000.250.250.38-=-
040BIN c scan, 5000b1.081.061.000.520.510.52-=-
041BIN c scan, 10000b1.091.051.000.570.570.58-=-
042BIN chars, 10000b1.601.301.002.282.422.32-=-
043BIN random string 100b3.532.621.001.331.411.39-=-
044BIN random string 5000b3.622.611.001.331.381.39-=-
045BIN u char, 10000b414.09404.50-=--=--=--=--=-
046CATCH error, complex3.262.771.000.810.810.811.22
047CATCH no catch used4.954.501.000.000.000.003.57
048CATCH return error3.252.691.000.790.790.791.18
049CATCH return except5.054.561.001.690.001.693.39
050CATCH return ok4.934.571.001.641.641.643.28
051DATA access in a list0.850.941.002.592.502.4547.76
052DATA access in an array1.841.621.001.651.651.635.22
053DATA create in a list1.031.191.003.383.683.449.66
054DATA create in an array1.111.101.001.151.141.472.41
055ENC iso2022-jp, gets0.810.801.000.350.33-=--=-
056ENC iso2022-jp, read0.840.841.000.340.34-=--=-
057ENC iso2022-jp, read & size0.830.841.000.340.34-=--=-
058ENC iso8859-2, gets0.260.621.000.500.47-=--=-
059ENC iso8859-2, read0.180.571.000.450.43-=--=-
060ENC iso8859-2, read & size0.220.621.000.490.47-=--=-
061EVAL cmd and mixed lists3.532.951.000.842.111.440.18
062EVAL cmd eval as list1.761.491.001.352.702.701.35
063EVAL cmd eval as string2.122.191.000.960.960.960.48
064EVAL cmd eval in list obj var1.781.511.000.861.722.591.72
065EVAL cmd eval in list obj {*}1.641.378.5+8.5+8.5+8.5+8.5+
066EVAL list cmd and mixed lists3.522.941.000.842.141.450.18
067EVAL list cmd and pure lists0.620.621.000.6430.5320.782.61
068EXPR $a != $b dbl2.902.291.000.000.002.387.14
069EXPR $a != $b int4.512.271.000.000.002.449.76
070EXPR $a != $b str (!= len)1.440.831.000.970.970.973.88
071EXPR $a != $b str (== len)1.360.761.000.890.890.893.57
072EXPR $a == $b dbl3.172.311.000.000.002.389.52
073EXPR $a == $b int4.492.441.000.000.002.449.76
074EXPR $a == $b str (!= len)1.410.811.000.940.940.943.77
075EXPR $a == $b str (== len)1.000.831.000.910.910.913.64
076EXPR braced2.391.891.001.151.151.158.05
077EXPR builtin dyn3.032.731.000.670.671.011.01
078EXPR builtin sin2.451.911.000.003.030.006.06
079EXPR cast double3.002.431.000.000.000.005.71
080EXPR cast int3.092.571.000.000.000.005.71
081EXPR fifty operands1.401.301.000.820.821.647.38
082EXPR incr with expr2.882.241.000.000.000.004.00
083EXPR incr with incr3.042.291.000.000.000.004.17
084EXPR inline1.421.191.000.880.880.881.77
085EXPR one operand2.802.241.000.000.000.004.00
086EXPR rand range3.932.951.000.000.000.00-=-
087EXPR rand range func2.572.201.001.431.431.434.29
088EXPR ten operands2.021.661.000.000.002.274.55
089EXPR unbraced2.432.231.000.690.690.830.83
090EXPR unbraced long0.950.961.000.790.820.480.48
091FCOPY binary: 160K1.041.001.000.991.04-=--=-
092FCOPY encoding: 160K1.011.001.000.760.80-=--=-
093FCOPY std: 160K1.040.991.000.991.040.991.91
094FILE exec interp1.171.121.000.390.320.360.25
095FILE exec interp: pkg require1.311.261.000.430.360.280.19
096FILE exists tmpfile (obj)1.201.111.001.031.031.031.03
097FILE exists ~1.371.211.001.583.161.051.05
098FILE exists! tmpfile (obj)2.252.191.002.172.171.451.45
099FILE exists! tmpfile (str)0.300.291.000.180.180.180.12
100FILE glob tmpdir (60 entries)0.900.911.000.670.670.580.57
101FILE glob / all subcommands1.701.641.001.121.140.860.86
102FILE glob / atime0.590.591.000.350.390.350.39
103FILE glob / attributes2.192.161.000.700.73-=--=-
104FILE glob / dirname0.390.381.000.430.520.500.45
105FILE glob / executable0.570.571.000.340.370.340.33
106FILE glob / exists0.580.551.000.320.360.320.32
107FILE glob / extension0.670.651.000.520.660.630.58
108FILE glob / isdirectory0.580.571.000.340.390.350.34
109FILE glob / isfile0.600.581.000.350.400.360.35
110FILE glob / mtime0.610.591.000.350.390.350.39
111FILE glob / owned0.610.591.000.360.410.360.35
112FILE glob / readable0.570.561.000.330.360.330.33
113FILE glob / rootname0.760.731.000.530.660.630.59
114FILE glob / size0.600.591.000.350.390.350.39
115FILE glob / tail0.490.471.000.500.600.560.52
116FILE glob / writable0.580.561.000.330.360.330.33
117FILE recurse / -dir0.820.791.000.630.640.710.67
118FILE recurse / cd0.710.631.000.340.330.370.34
119GCCont_cpb::cGCC 501.231.121.001.862.172.09-=-
120GCCont_cpb::cGCC 5001.481.371.002.783.563.37-=-
121GCCont_cpb::cGCC 50001.561.471.003.064.083.85-=-
122GCCont_cpbre1::cGCC 501.291.221.001.09-=--=--=-
123GCCont_cpbre1::cGCC 5001.041.071.001.02-=--=--=-
124GCCont_cpbre1::cGCC 50001.011.021.001.00-=--=--=-
125GCCont_cpbre2::cGCC 501.171.111.001.04-=--=--=-
126GCCont_cpbre2::cGCC 5000.980.971.000.96-=--=--=-
127GCCont_cpbre2::cGCC 50001.001.001.001.00-=--=--=-
128GCCont_cpbrs2::cGCC 501.411.381.002.852.73-=--=-
129GCCont_cpbrs2::cGCC 5000.951.101.005.325.23-=--=-
130GCCont_cpbrs2::cGCC 50000.811.051.006.466.49-=--=-
131GCCont_cpbrs::cGCC1 502.172.091.002.952.792.15-=-
132GCCont_cpbrs::cGCC1 5001.211.291.005.385.351.42-=-
133GCCont_cpbrs::cGCC1 50000.790.981.006.736.731.14-=-
134GCCont_cpbrs::cGCC2 502.122.161.003.343.252.23-=-
135GCCont_cpbrs::cGCC2 5001.191.351.006.176.461.46-=-
136GCCont_cpbrs::cGCC2 50000.771.011.007.697.641.08-=-
137GCCont_cpbrs_trap::cGCC 501.241.221.001.081.040.71-=-
138GCCont_cpbrs_trap::cGCC 5001.041.041.001.051.030.56-=-
139GCCont_cpbrs_trap::cGCC 50001.001.021.001.041.030.54-=-
140GCCont_expr::cGCC 501.201.191.000.880.88-=--=-
141GCCont_expr::cGCC 5000.700.731.000.920.91-=--=-
142GCCont_expr::cGCC 50000.100.101.001.011.01-=--=-
143GCCont_i::cGCC1 500.670.601.001.221.361.32-=-
144GCCont_i::cGCC1 5000.580.521.001.281.491.44-=-
145GCCont_i::cGCC1 50000.530.481.001.251.441.37-=-
146GCCont_i::cGCC2 501.421.321.001.441.861.78-=-
147GCCont_i::cGCC2 5001.461.391.001.592.352.28-=-
148GCCont_i::cGCC2 50001.461.401.001.622.442.38-=-
149GCCont_i::cGCC3 501.321.191.001.431.881.79-=-
150GCCont_i::cGCC3 5001.291.181.001.612.412.31-=-
151GCCont_i::cGCC3 50001.281.171.001.622.502.41-=-
152GCCont_r1::cGCC 500.570.521.001.321.381.41-=-
153GCCont_r1::cGCC 5000.550.501.001.321.371.37-=-
154GCCont_r1::cGCC 50000.550.501.001.311.371.37-=-
155GCCont_r2::cGCC 500.610.551.001.221.281.25-=-
156GCCont_r2::cGCC 5000.550.481.001.251.451.36-=-
157GCCont_r2::cGCC 50000.530.461.001.271.451.37-=-
158GCCont_r3::cGCC 500.630.561.001.221.351.28-=-
159GCCont_r3::cGCC 5000.550.481.001.241.441.34-=-
160GCCont_r3::cGCC 50000.540.471.001.231.441.34-=-
161GCCont_rsf1::cGCC 501.341.221.001.161.68-=--=-
162GCCont_rsf1::cGCC 5001.191.161.001.262.16-=--=-
163GCCont_rsf1::cGCC 50001.141.151.001.242.23-=--=-
164GCCont_rsf2::cGCC1 501.431.301.001.251.64-=--=-
165GCCont_rsf2::cGCC1 5001.171.131.001.432.15-=--=-
166GCCont_rsf2::cGCC1 50001.121.131.001.532.30-=--=-
167GCCont_rsf2::cGCC2 501.351.211.001.201.53-=--=-
168GCCont_rsf2::cGCC2 5001.181.141.001.352.10-=--=-
169GCCont_rsf2::cGCC2 50001.121.131.001.422.23-=--=-
170GCCont_rsf3::cGCC 501.341.211.001.071.50-=--=-
171GCCont_rsf3::cGCC 5001.161.141.001.342.06-=--=-
172GCCont_rsf3::cGCC 50001.141.151.001.402.23-=--=-
173GCCont_turing::cGCC 501.131.221.001.401.26-=--=-
174GCCont_turing::cGCC 5000.841.051.001.631.73-=--=-
175GCCont_turing::cGCC 50000.751.011.001.731.68-=--=-
176HEAPSORT size 101.371.271.001.281.2413.546.93
177HEAPSORT size 501.461.301.001.361.339.736.56
178HEAPSORT size 1001.451.311.001.301.268.466.30
179HEAPSORT2 size 100.880.801.00-=--=--=--=-
180HEAPSORT2 size 500.900.831.00-=--=--=--=-
181HEAPSORT2 size 1000.880.811.00-=--=--=--=-
182IF 1/0 check2.622.031.003.453.453.456.90
183IF else true al0.900.761.000.760.760.763.05
184IF else true numeric1.431.221.001.541.541.546.15
185IF elseif true al1.251.051.001.011.011.014.04
186IF elseif true numeric1.921.591.001.961.961.967.84
187IF if false al/al1.851.621.001.411.411.414.23
188IF if false al/num2.311.931.001.721.721.728.62
189IF if false num/num3.262.661.002.632.632.6310.53
190IF if true al1.691.411.001.721.721.725.17
191IF if true al/al2.021.711.001.721.721.725.17
192IF if true num/num2.381.931.002.222.222.228.89
193IF if true numeric2.211.791.000.000.000.007.14
194IF multi 1st true2.051.661.000.000.000.0011.36
195IF multi 2nd true1.921.561.002.002.002.0010.00
196IF multi 9th true1.611.311.001.201.201.2010.84
197IF multi default true1.501.261.001.191.191.1911.90
198KLIST shuffle0 llength 11.131.041.001.461.461.468.0+
199KLIST shuffle0 llength 101.121.061.001.531.531.618.0+
200KLIST shuffle0 llength 1001.010.961.001.641.631.678.0+
201KLIST shuffle0 llength 10000.930.881.001.571.571.628.0+
202KLIST shuffle0 llength 100000.780.751.001.431.391.45-=-
203KLIST shuffle1-s llength 10.820.661.001.261.260.944.09
204KLIST shuffle1-s llength 101.281.041.001.031.231.165.29
205KLIST shuffle1-s llength 1001.281.061.001.011.151.096.55
206KLIST shuffle1-s llength 10000.930.891.001.010.880.864.84
207KLIST shuffle1a llength 10.870.701.001.131.130.854.51
208KLIST shuffle1a llength 101.551.261.001.181.371.317.53
209KLIST shuffle1a llength 1001.561.291.001.141.371.3311.34
210KLIST shuffle1a llength 10001.571.271.001.131.371.3138.67
211KLIST shuffle1a llength 100001.571.281.001.141.361.33-=-
212KLIST shuffle2 llength 10.950.821.001.341.341.614.30
213KLIST shuffle2 llength 101.801.551.001.281.281.895.00
214KLIST shuffle2 llength 1001.931.631.001.241.241.814.97
215KLIST shuffle2 llength 10001.961.751.001.251.241.814.98
216KLIST shuffle2 llength 100001.881.591.001.201.211.81-=-
217KLIST shuffle3 llength 10.830.661.001.221.521.223.66
218KLIST shuffle3 llength 101.661.291.001.391.571.577.24
219KLIST shuffle3 llength 1001.711.331.001.351.521.439.04
220KLIST shuffle3 llength 10001.701.321.001.471.661.5618.42
221KLIST shuffle3 llength 100001.411.191.002.012.132.05-=-
222KLIST shuffle4 llength 10.830.661.001.491.491.193.87
223KLIST shuffle4 llength 101.581.261.001.381.541.547.29
224KLIST shuffle4 llength 1001.641.321.001.391.541.5010.80
225KLIST shuffle4 llength 10001.671.321.001.401.561.5029.96
226KLIST shuffle4 llength 100001.671.311.001.391.551.53-=-
227KLIST shuffle5-s llength 11.541.171.001.501.500.756.77
228KLIST shuffle5-s llength 101.521.241.000.990.990.995.64
229KLIST shuffle5-s llength 1001.551.301.000.960.920.906.03
230KLIST shuffle5-s llength 10001.100.971.001.040.860.854.30
231KLIST shuffle5a llength 11.551.161.001.221.221.226.71
232KLIST shuffle5a llength 101.891.521.001.041.041.047.46
233KLIST shuffle5a llength 1001.971.561.001.081.021.039.01
234KLIST shuffle5a llength 10001.891.541.001.241.181.1815.35
235KLIST shuffle5a llength 100001.521.341.001.931.911.92-=-
236KLIST shuffle6 llength 11.181.001.00-=--=--=--=-
237KLIST shuffle6 llength 101.411.231.00-=--=--=--=-
238KLIST shuffle6 llength 1001.481.281.00-=--=--=--=-
239KLIST shuffle6 llength 10001.521.311.00-=--=--=--=-
240KLIST shuffle6 llength 100001.501.281.00-=--=--=--=-
241LIST append to list1.671.561.001.521.521.521.52
242LIST concat APPEND 2x101.121.011.000.860.860.860.35
243LIST concat APPEND 2x1001.121.081.000.970.920.890.13
244LIST concat APPEND 2x10001.081.101.000.940.950.930.09
245LIST concat APPEND 2x100001.061.081.000.930.930.910.08
246LIST concat CONCAT 2x101.160.921.000.873.483.481.74
247LIST concat CONCAT 2x1001.100.991.001.1818.8218.243.53
248LIST concat CONCAT 2x10001.000.981.000.9334.4133.603.82
249LIST concat CONCAT 2x100001.011.001.001.0037.9037.413.91
250LIST concat EVAL/LAPPEND 2x100.800.661.000.741.491.491.49
251LIST concat EVAL/LAPPEND 2x1000.790.701.000.773.072.563.07
252LIST concat EVAL/LAPPEND 2x10000.740.741.000.743.163.324.64
253LIST concat EVAL/LAPPEND 2x100000.730.721.000.773.523.715.11
254LIST concat FOREACH/LAPPEND 2x101.411.001.002.122.122.123.17
255LIST concat FOREACH/LAPPEND 2x1001.911.251.002.743.082.633.54
256LIST concat FOREACH/LAPPEND 2x10001.881.281.003.003.142.873.50
257LIST concat FOREACH/LAPPEND 2x100001.781.301.003.013.162.853.51
258LIST concat SET 2x100.960.931.000.770.770.770.39
259LIST concat SET 2x1001.091.111.000.920.920.900.17
260LIST concat SET 2x10001.091.131.000.920.920.900.09
261LIST concat SET 2x100001.101.121.000.920.920.910.09
262LIST exact search, first item2.882.301.000.000.000.0066.00
263LIST exact search, last item1.461.341.001.021.021.0216.75
264LIST exact search, middle item2.001.641.001.011.011.0134.34
265LIST exact search, non-item1.161.111.000.870.870.877.81
266LIST exact search, typed item1.811.541.000.960.960.9616.27
267LIST exact search, untyped item1.431.311.001.011.011.0117.17
268LIST index first element2.361.771.000.000.000.007.69
269LIST index last element2.451.871.000.000.000.0015.79
270LIST index middle element2.451.761.000.000.000.0010.53
271LIST insert an item at "end"1.181.131.000.910.910.914.77
272LIST insert an item at middle1.141.071.001.081.081.081.30
273LIST insert an item at start1.121.071.001.081.081.080.86
274LIST iterate list0.760.691.002.452.352.66215.08
275LIST join list1.061.041.001.111.140.782.39
276LIST large, early range1.941.741.001.041.041.046.25
277LIST large, late range1.881.651.001.031.031.037.22
278LIST length, pure list1.641.211.000.000.000.0092.31
279LIST list1.991.731.001.371.371.374.11
280LIST lset foreach l6.131.081.00=8.4=8.4=8.4=8.4
281LIST lset foreach list6.131.061.00=8.4=8.4=8.4=8.4
282LIST lset foreach ""s l0.920.821.00=8.4=8.4=8.4=8.4
283LIST lset foreach ""s list0.950.841.00=8.4=8.4=8.4=8.4
284LIST regexp search, first item1.431.141.000.930.930.9330.56
285LIST regexp search, last item0.150.141.001.071.100.190.65
286LIST regexp search, non-item0.130.131.001.091.130.160.37
287LIST remove first element1.061.011.001.081.081.080.86
288LIST remove in mixed list1.000.931.001.0133.401.011.21
289LIST remove last element1.091.041.001.101.101.101.76
290LIST remove middle element1.091.031.001.091.091.091.31
291LIST replace first el with multiple1.131.091.001.061.061.061.28
292LIST replace first element1.211.141.000.920.920.921.14
293LIST replace in mixed list1.111.051.001.0634.751.061.27
294LIST replace last el with multiple1.251.221.000.891.120.895.13
295LIST replace last element1.261.191.000.920.920.925.03
296LIST replace middle el with multiple1.191.161.001.081.081.083.03
297LIST replace middle element1.241.181.000.920.920.923.20
298LIST replace range0.450.371.000.910.910.913.86
299LIST reverse core4.834.818.5+8.5+8.5+8.5+8.5+
300LIST reverse lappend0.740.711.002.832.832.7173.35
301LIST small, early range1.921.721.001.281.281.285.13
302LIST small, late range2.011.771.001.301.301.309.09
303LIST sort0.600.601.000.960.970.981.45
304LIST sorted search, first item2.772.111.000.000.000.0057.89
305LIST sorted search, last item2.672.071.003.453.453.4558.62
306LIST sorted search, middle item2.692.121.001.721.721.7256.90
307LIST sorted search, non-item2.722.121.007.027.027.0263.16
308LIST sorted search, typed item3.362.741.003.453.453.4558.62
309LIST typed sort0.550.541.001.001.030.992.12
310LOOP for (to 1000)1.081.131.002.482.442.6417.45
311LOOP for, iterate list0.750.701.001.721.651.7474.80
312LOOP for, iterate string0.930.891.001.631.731.597.87
313LOOP foreach, iterate list1.501.351.001.501.481.624.62
314LOOP foreach, iterate string1.451.391.001.383.013.053.49
315LOOP while (to 1000)1.081.011.002.482.422.5817.30
316LOOP while 1 (to 1000)1.221.081.002.452.883.0422.36
317MAP ([chars])-case regsub1.121.141.000.990.910.230.38
318MAP http mapReply1.161.201.001.161.151.040.74
319MAP regsub -nocase, no match0.971.021.001.531.530.790.77
320MAP regsub 1 val0.471.051.003.733.730.661.26
321MAP regsub 1 val -nocase0.681.021.002.272.250.590.87
322MAP regsub 2 val0.440.991.007.126.960.611.05
323MAP regsub 2 val -nocase0.631.031.004.974.950.590.90
324MAP regsub 3 val0.421.031.007.117.080.600.99
325MAP regsub 3 val -nocase0.601.031.004.844.860.570.86
326MAP regsub 4 val0.411.041.006.987.000.590.96
327MAP regsub 4 val -nocase0.601.051.004.834.830.570.85
328MAP regsub short1.931.881.003.413.410.982.93
329MAP regsub, no match0.900.981.006.266.871.821.73
330MAP string -nocase, no match0.840.991.006.526.46nomapnomap
331MAP string 1 val0.571.021.004.174.52nomapnomap
332MAP string 1 val -nocase0.761.061.004.815.68nomapnomap
333MAP string 2 val0.711.041.002.292.29nomapnomap
334MAP string 2 val -nocase0.791.001.003.623.77nomapnomap
335MAP string 3 val0.891.061.002.562.19nomapnomap
336MAP string 3 val -nocase0.810.991.005.294.44nomapnomap
337MAP string 4 val0.851.081.002.172.19nomapnomap
338MAP string 4 val -nocase0.761.011.005.065.45nomapnomap
339MAP string short2.082.021.001.221.22nomapnomap
340MAP string, no match0.771.081.004.073.99nomapnomap
341MAP |-case regsub1.291.281.000.941.070.270.54
342MAP |-case strmap2.001.771.001.101.10nomapnomap
343MATRIX mult 5x51.281.211.001.581.581.618.31
344MATRIX mult 10x101.291.281.001.561.521.599.58
345MATRIX mult 15x151.311.281.001.531.481.5810.45
346MATRIX transposition-01.511.291.002.452.442.365.90
347MATRIX transposition-10.770.751.002.332.232.2022.80
348MD5 msg len 101.371.141.001.051.02-=--=-
349MD5 msg len 1001.291.161.001.071.05-=--=-
350MD5 msg len 10001.841.661.001.071.03-=--=-
351MD5 msg len 100005.355.011.001.071.04-=--=-
352MTHD array stored proc call2.762.141.000.000.000.00-=-
353MTHD call absolute2.011.751.001.231.231.23-=-
354MTHD call relative1.691.461.000.920.920.92-=-
355MTHD direct ns proc call2.812.151.000.000.000.00-=-
356MTHD imported ns proc call2.922.041.000.000.000.00-=-
357MTHD indirect proc eval1.801.581.000.671.342.01-=-
358MTHD indirect proc eval #20.790.691.001.041.041.04-=-
359MTHD inline call1.461.151.000.000.000.00-=-
360MTHD interp alias proc call3.061.821.002.942.940.00-=-
361MTHD ns lookup call1.671.421.001.031.291.55-=-
362MTHD switch method call1.561.411.001.061.592.12-=-
363NS alternating1.981.681.001.041.000.59-=-
364PARSE html form upload (7978)1.281.091.001.311.321.06-=-
365PARSE html form upload (993570)1.331.101.001.271.301.19-=-
366PROC do-nothing, no args2.051.521.000.004.760.000.00
367PROC do-nothing, one arg2.792.171.000.000.000.000.00
368PROC empty, no args2.201.601.000.0020.000.0020.00
369PROC empty, use args2.201.601.000.000.000.0020.00
370PROC explicit return2.962.291.000.000.000.004.17
371PROC explicit return (2)2.582.001.000.000.000.003.85
372PROC explicit return (3)2.712.251.000.000.000.004.17
373PROC heavily commented2.752.171.000.000.000.0091.67
374PROC implicit return2.542.071.000.000.000.003.57
375PROC implicit return (2)2.231.771.000.000.000.003.33
376PROC implicit return (3)2.752.171.000.000.000.000.00
377PROC local links with global0.470.461.001.161.161.166.17
378PROC local links with upvar0.520.511.001.141.171.206.97
379PROC local links with variable0.600.561.001.191.190.638.08
380RE 1-char long-end1.040.981.001.051.0515.0015.79
381RE 1-char long-end catching1.231.201.001.381.239.369.51
382RE 1-char long-middle1.110.981.000.850.8512.3913.25
383RE 1-char long-middle catching1.301.271.001.371.376.276.67
384RE 1-char long-start1.140.961.001.051.051.052.11
385RE 1-char long-start catching1.401.371.001.361.361.091.36
386RE 1-char short1.140.981.001.081.081.082.15
387RE 1-char short catching1.391.371.001.611.341.071.34
388RE basic1.140.961.001.191.191.192.38
389RE basic catching1.461.691.001.471.470.981.22
390RE c-comment long1.010.991.001.011.011.411.61
391RE c-comment long catching1.121.091.001.151.090.640.90
392RE c-comment long nomatch1.031.001.000.980.980.280.56
393RE c-comment long nomatch catching1.251.191.000.960.960.410.69
394RE c-comment long pmatch1.010.981.001.001.005.265.51
395RE c-comment long pmatch catching1.241.181.000.990.995.215.83
396RE c-comment many *s1.011.001.000.990.991.601.72
397RE c-comment many *s catching1.081.061.001.071.070.630.99
398RE c-comment nomatch1.120.971.000.600.600.600.60
399RE c-comment nomatch catching1.861.751.001.111.110.561.11
400RE c-comment simple1.050.981.001.101.100.730.73
401RE c-comment simple catching1.151.141.001.181.180.420.50
402RE count all matches1.141.101.000.972.672.304.97
403RE extract all matches1.091.131.001.002.552.195.01
404RE ini file1.001.011.001.001.010.010.01
405RE ini file ng1.051.041.001.051.05-=--=-
406RE literal regexp1.181.001.001.211.210.610.61
407RE n-char long-end1.040.961.001.041.0415.6716.19
408RE n-char long-end catching1.211.151.001.231.238.789.60
409RE n-char long-middle1.041.001.000.840.8412.5513.81
410RE n-char long-middle catching1.261.261.001.391.225.926.45
411RE n-char long-start1.120.941.001.001.001.002.00
412RE n-char long-start catching1.341.281.001.351.350.901.35
413RE n-char short1.150.961.001.021.021.022.04
414RE n-char short catching1.371.311.001.441.440.961.20
415RE static anchored match2.762.121.004.004.000.004.00
416RE static anchored match dot0.570.431.000.770.770.000.77
417RE static anchored nomatch2.812.151.003.853.850.003.85
418RE static anchored nomatch dot1.240.921.001.691.690.001.69
419RE static l-anchored match2.502.001.003.573.570.003.57
420RE static l-anchored nomatch2.692.081.003.850.000.003.85
421RE static long match1.281.101.003.233.232.153.23
422RE static long nomatch1.211.061.003.203.201.602.40
423RE static r-anchored match2.642.041.003.573.570.003.57
424RE static r-anchored nomatch2.662.001.003.453.450.003.45
425RE static short match2.501.901.003.333.330.003.33
426RE static short nomatch2.742.071.003.703.700.003.70
427RE var ***= directive match0.530.531.001.151.15-=--=-
428RE var ***= directive nomatch0.530.521.001.111.11-=--=-
429RE var . match0.880.661.001.141.141.142.27
430RE var [0-9] match1.070.951.000.650.651.962.61
431RE var \d match1.070.961.000.660.661.972.63
432RE var ^$ nomatch1.030.751.001.371.371.372.74
433RE var backtrack case11.3011.561.001.221.2216.4617.07
434RE var-based regexp0.970.891.001.051.050.531.05
435READ 595K, cat1.441.281.001.771.500.670.98
436READ 595K, gets1.671.501.002.191.760.911.43
437READ 595K, glob-grep match1.431.411.001.601.490.981.37
438READ 595K, glob-grep nomatch1.381.361.001.941.831.051.37
439READ 595K, read1.061.081.001.981.9815.1915.12
440READ 595K, read & size1.091.101.002.012.000.7415.34
441READ 595K, read dyn buf1.081.111.001.988.3+8.3+8.3+
442READ 595K, read small buf1.021.001.001.018.3+8.3+8.3+
443READ 3050b, cat1.331.231.001.491.310.720.95
444READ 3050b, gets1.541.441.001.931.610.941.41
445READ 3050b, glob-grep match1.441.301.001.511.400.961.34
446READ 3050b, glob-grep nomatch1.341.251.001.771.691.071.32
447READ 3050b, read1.081.131.001.481.440.881.04
448READ 3050b, read & size1.191.191.001.521.480.931.11
449READ 3050b, read dyn buf1.151.141.001.378.3+8.3+8.3+
450READ 3050b, read small buf1.021.011.001.038.3+8.3+8.3+
451READ bin 595K, cat0.750.661.001.251.110.490.70
452READ bin 595K, gets1.161.021.001.831.540.861.35
453READ bin 595K, glob-grep match0.850.741.001.471.410.941.35
454READ bin 595K, glob-grep nomatch0.800.741.001.751.701.061.35
455READ bin 595K, read1.221.271.001.020.9870.9171.01
456READ bin 595K, read & size1.231.261.001.030.983.3870.53
457READ bin 595K, read dyn buf1.221.241.000.988.3+8.3+8.3+
458READ bin 595K, read small buf0.990.971.000.978.3+8.3+8.3+
459READ bin 3050b, cat0.830.781.001.201.100.580.75
460READ bin 3050b, gets1.141.051.001.631.390.881.26
461READ bin 3050b, glob-grep match1.351.241.001.351.300.891.24
462READ bin 3050b, glob-grep nomatch1.391.211.001.591.580.991.26
463READ bin 3050b, read1.191.141.000.980.981.171.27
464READ bin 3050b, read & size1.301.241.001.101.011.231.32
465READ bin 3050b, read dyn buf1.301.221.000.998.3+8.3+8.3+
466READ bin 3050b, read small buf1.000.991.000.998.3+8.3+8.3+
467SHA (A) msg len 101.080.981.001.291.31-=--=-
468SHA (A) msg len 1001.040.911.001.311.31-=--=-
469SHA (A) msg len 10001.010.881.001.341.33-=--=-
470SHA (A) msg len 100001.030.891.001.351.35-=--=-
471SHA (B) msg len 10-=--=-1.001.301.30-=--=-
472SHA (B) msg len 100-=--=-1.001.331.32-=--=-
473SHA (B) msg len 1000-=--=-1.001.371.36-=--=-
474SHA (B) msg len 10000-=--=-1.001.371.36-=--=-
475SPLIT iter, 4000 uchars1.421.301.001.292.642.603.07
476SPLIT iter, 4010 chars1.451.321.001.302.732.743.15
477SPLIT iter, rand 100 c1.111.111.000.970.670.64-=-
478SPLIT iter, rand 1000 c1.181.131.001.091.351.29-=-
479SPLIT iter, rand 10000 c1.261.161.001.202.332.25-=-
480SPLIT on 'c', 4000 uchars1.171.161.001.941.911.102.82
481SPLIT on 'c', 4010 chars1.181.171.001.861.861.132.50
482SPLIT on 'cz', 4000 uchars1.101.161.001.291.260.831.60
483SPLIT on 'cz', 4010 chars1.091.131.001.331.310.881.57
484SPLIT on 'cû', 4000 uchars1.111.131.001.181.170.751.48
485SPLIT on 'cû', 4010 chars1.091.111.001.271.230.701.46
486SPLIT, 4000 uchars1.271.191.000.904.554.290.86
487SPLIT, 4010 chars1.321.241.000.875.084.970.88
488SPLIT, rand 100 c1.091.091.000.910.550.52-=-
489SPLIT, rand 1000 c1.061.051.000.901.311.20-=-
490SPLIT, rand 10000 c1.081.041.000.893.683.34-=-
491STR append1.371.311.001.181.181.184.71
492STR append (1KB + 1KB)1.431.261.001.641.641.645.74
493STR append (1MB + (1b+1K+1b)*100)1.081.131.000.760.760.756.32
494STR append (1MB + 1KB)0.991.011.000.210.210.212.08
495STR append (1MB + 1KB*20)1.021.011.000.210.210.212.06
496STR append (1MB + 1KB*1000)1.001.021.000.330.330.331.88
497STR append (1MB + 1MB*3)1.041.051.000.930.940.933.22
498STR append (1MB + 1MB*5)1.001.041.001.241.281.312.60
499STR append (1MB + 2b*1000)0.931.041.002.412.442.3612.17
500STR append (10KB + 1KB)0.970.891.001.441.441.445.77
501STR first (failure)1.330.931.001.351.351.351.57
502STR first (failure) utf1.330.921.002.932.931.351.58
503STR first (success)3.542.481.001.851.850.005.56
504STR first (success) utf3.532.551.001.891.890.005.66
505STR first (total failure)1.461.271.001.361.361.362.37
506STR first (total failure) utf1.481.281.001.711.711.372.40
507STR index 01.501.121.001.721.721.725.17
508STR index 1001.501.121.001.721.721.725.17
509STR index 5001.491.071.001.691.691.695.08
510STR info locals match0.840.821.001.281.311.247.63
511STR last (failure)1.060.941.000.860.860.651.51
512STR last (success)3.732.731.0021.1521.150.0013.46
513STR last (total failure)1.501.291.001.021.021.022.04
514STR length (==4010)1.591.111.000.000.000.008.11
515STR length growing (1000)1.381.021.003.093.193.299.75
516STR length growing uc (1000)1.371.011.003.063.143.069.78
517STR length of a LIST1.711.291.000.000.000.008.82
518STR length static str2.652.231.003.853.853.857.69
519STR match, complex (failure)0.901.061.008.808.993.754.31
520STR match, complex (success early)2.421.771.002.332.332.336.98
521STR match, complex (success late)1.161.061.008.038.033.623.94
522STR match, complex (total failure)1.231.111.0016.5516.557.048.10
523STR match, exact (failure)2.652.081.000.000.000.003.85
524STR match, exact (success)2.762.161.000.000.000.004.00
525STR match, exact -nocase (failure)2.592.041.000.000.003.703.70
526STR match, exact -nocase (success)2.001.631.002.442.442.442.44
527STR match, recurse (fail backtrack)1.061.041.007.307.394.679.10
528STR match, recurse (fail bt1)1.051.051.007.257.344.718.88
529STR match, recurse (fail bt2)1.061.051.007.267.414.778.96
530STR match, recurse (fail ranchor)1.001.001.0018.3418.377.727.73
531STR match, recurse (success bt2)1.391.241.000.971.7510.8937.94
532STR match, recurse2 (fail)0.801.001.009.449.443.983.97
533STR match, recurse2 (success)0.901.071.008.758.753.724.28
534STR match, simple (failure)3.793.291.000.000.000.003.57
535STR match, simple (success)3.172.381.000.000.000.003.45
536STR range, index 100..200 of 40102.722.391.001.181.181.184.71
537STR repeat, 4010 chars * 101.631.361.000.941.883.2914.55
538STR repeat, 4010 chars * 1001.151.091.000.982.633.6911.63
539STR repeat, abcdefghij * 103.963.111.000.001.827.2725.45
540STR repeat, abcdefghij * 1001.961.661.000.732.1920.4475.18
541STR repeat, abcdefghij * 10000.910.891.000.892.2429.75111.86
542STR replace, equal replacement2.422.101.008.008.670.675.33
543STR replace, longer replacement2.221.931.007.327.320.614.88
544STR replace, no replacement2.612.151.0010.2611.110.856.84
545STR reverse core, 10 c2.091.388.5+8.5+8.5+8.5+8.5+
546STR reverse core, 10 uc2.051.558.5+8.5+8.5+8.5+8.5+
547STR reverse core, 100 c2.231.528.5+8.5+8.5+8.5+8.5+
548STR reverse core, 100 uc2.211.648.5+8.5+8.5+8.5+8.5+
549STR reverse core, 400 c2.291.748.5+8.5+8.5+8.5+8.5+
550STR reverse core, 400 uc2.381.888.5+8.5+8.5+8.5+8.5+
551STR reverse iter/append, 10 c1.060.981.001.941.941.944.21
552STR reverse iter/append, 10 uc1.071.001.001.951.951.954.23
553STR reverse iter/append, 100 c1.141.051.002.732.572.515.62
554STR reverse iter/append, 100 uc1.101.051.002.522.472.365.29
555STR reverse iter/append, 400 c1.141.121.002.772.722.657.78
556STR reverse iter/append, 400 uc1.091.121.002.612.572.477.28
557STR reverse iter/set, 10 c1.161.091.001.451.451.453.38
558STR reverse iter/set, 10 uc1.141.081.001.181.181.423.32
559STR reverse iter/set, 100 c1.101.091.001.361.361.283.14
560STR reverse iter/set, 100 uc1.071.051.001.331.301.223.00
561STR reverse iter/set, 400 c1.051.021.001.361.291.254.14
562STR reverse iter/set, 400 uc1.000.991.001.311.261.173.96
563STR reverse recursive, 10 c2.231.951.001.221.140.962.36
564STR reverse recursive, 10 uc2.332.081.001.361.261.072.62
565STR reverse recursive, 100 c2.111.931.001.181.161.012.24
566STR reverse recursive, 100 uc2.211.921.001.631.601.062.34
567STR reverse recursive, 400 c2.171.851.001.171.151.048.0+
568STR reverse recursive, 400 uc2.341.881.002.602.591.158.0+
569STR str $a eq $b1.551.221.001.671.671.676.67
570STR str $a eq $b (same obj)1.511.121.001.541.541.546.15
571STR str $a equal ""2.441.851.002.562.562.5612.82
572STR str $a ne $b1.491.151.001.541.543.086.15
573STR str $a ne $b (same obj)1.461.251.001.691.691.696.78
574STR str num == ""2.261.811.002.382.382.3811.90
575STR strcmp bin long eq1.751.411.0019.1619.16-=--=-
576STR strcmp bin long neq1.831.591.0018.9818.98-=--=-
577STR strcmp bin long neqS3.142.411.0045.1945.19-=--=-
578STR strcmp bin short eq3.552.641.002.032.03-=--=-
579STR streq bin long eq0.081.041.000.920.89-=--=-
580STR streq bin long neq0.091.051.000.880.89-=--=-
581STR streq bin long neqS0.061.041.000.880.88-=--=-
582STR streq bin short eq1.821.831.000.990.99-=--=-
583STR string compare1.411.101.001.641.641.643.28
584STR string compare ""1.801.481.001.791.791.795.36
585STR string compare long1.080.981.001.421.421.425.19
586STR string compare long (same obj)1.341.071.003.453.453.4518.97
587STR string compare mixed long1.021.001.000.190.190.130.65
588STR string compare uni long1.021.001.000.200.130.130.66
589STR string equal ""2.121.581.002.082.082.088.33
590STR string equal long (!= len)1.421.051.003.233.233.2315.05
591STR string equal long (== len)1.031.021.001.241.241.245.81
592STR string equal long (same obj)1.451.101.004.484.484.4820.90
593STR string equal mixed long1.541.181.004.624.624.6221.54
594STR string equal uni long1.451.031.001.151.151.155.38
595STR/LIST length, obj shimmer1.091.121.000.980.990.010.22
596SWITCH 1st true0.620.501.000.720.720.723.60
597SWITCH 2nd true0.600.481.000.680.680.683.38
598SWITCH 9th true0.530.431.000.610.611.233.07
599SWITCH default true0.520.421.000.630.631.263.14
600TRACE all set (rwu)1.021.581.000.760.760.762.29
601TRACE no trace set1.071.671.000.740.740.742.22
602TRACE read1.021.681.000.760.760.762.29
603TRACE unset1.121.791.000.830.830.832.48
604TRACE write1.091.641.000.820.820.822.46
605UNSET catch var !exist3.002.731.000.691.030.690.69
606UNSET catch var exists1.502.021.000.000.000.002.00
607UNSET info check var !exist1.791.441.000.000.000.002.33
608UNSET info check var exists1.311.781.001.691.691.691.69
609UNSET nocomplain var !exist1.763.241.004.884.884.884.88
610UNSET nocomplain var exists1.723.551.000.000.000.002.50
611UNSET var exists1.872.841.000.000.000.002.63
612UPLEVEL none1.461.471.001.761.851.89-=-
613UPLEVEL primed0.230.241.000.940.150.15-=-
614UPLEVEL to nseval0.330.261.000.800.150.16-=-
615UPLEVEL to proc0.300.271.000.900.150.14-=-
616VAR 'array set' of 100 elems1.141.021.001.651.651.503.29
617VAR 100 'set's in array1.141.031.001.031.031.243.71
618VAR access global1.631.321.001.541.541.544.62
619VAR access local proc arg2.441.941.000.000.000.008.82
620VAR access locally set2.391.891.000.000.000.008.33
621VAR access upvar1.731.381.001.591.591.594.76
622VAR incr global var 1000x1.421.381.002.162.142.3114.10
623VAR incr local var 1000x1.391.391.002.142.102.3214.07
624VAR incr upvar var 1000x1.401.331.002.212.142.3214.14
625VAR mset0.800.721.001.351.351.359.46
626VAR mset (foreach)1.401.111.000.000.000.0010.64
627VAR ref absolute1.851.671.001.341.341.248.0+
628VAR ref local0.990.841.002.051.712.058.0+
629VAR ref variable0.970.801.003.653.953.348.0+
630VAR set array element1.831.451.000.000.000.001.89
631VAR set scalar2.191.781.000.000.000.003.12
632WORDCOUNT wc11.231.181.001.081.030.530.66
633WORDCOUNT wc21.131.091.001.661.751.051.19
634WORDCOUNT wc31.181.151.001.771.831.091.01
634BENCHMARKS1:8.6b1.22:8.5.93:8.4.194:8.3.55:8.2.36:8.0.57:7.6p2
 FINISHED 2010-09-27 19:59:24

razorfish - 2011-10-28 09:28:41

Should lower (good) be highlighted in green and higher (bad) in red?


dkf - 2011-10-29 20:20:14

Sure, but this wiki doesn't support that.