Jeffrey Hobbs: There have been discussions about the changing relative speed of Tcl over the years (primarily rotating around the addition of the byte-code compiler - faster, but then also the changes to support i18n - slower).
I created the tclbench [L1 ] application to get a better understanding of what has truly happened to performance over the years, with the forward looking view of finding the pain points and fixing them. Anyone can get tclbench from CVS [L2 ] to do relative benchmarks themselves, but below I've posted the results from a full run over the benchmark suite. All builds represent the final code of that version.
A few have noted that these numbers aren't the easiest to read overall, which I can agree with. Take a look at the Tcl Normalized Benchmarks that set 8.4 as a norm of 1.0 to compare against. For those looking for more complete version-by-version comparisons, see Tcl Extended Benchmarks.
If you've got BLT handy, then here is a little code for Plotting Tcl Benchmarks.
The speed enhancements in 8.4 are primarily achieved by work done by myself (JH) and Eric Melski at Ajuba and continued at ActiveState. Addition optimizations are also done by Miguel Sofer. Additional major enhancements in 8.5 done by JH, Miguel Sofer and Donal Fellows. 8.5 added bignums, which slowed down expr handling in general. 8.6 has a new non-recursive (stackless) bytecode engine.
For those interested in the use of threads for concurrent processing, please see the Tcl Benchmarks with Threads.
The numbers are microseconds, but you should only look at them relative to each other. Lower is better. There is some fluctuation expected as Tcl's 'time' does wall timing, not true cpu time. In any case, these were done on a 2.66ghz Intel i7 MBP with 8GB physmem running OS X 10.6.4. All interpreters were compiled static with no threads using gcc 4.2.1 (Apple Inc. build 5664) with -O2 (no -mcpu modifiers). The "elapsed" time can also be misleading because runbench v1.23+ uses an autoscaling check to try and make sure each test runs at least .1s and at most 4s. Also, as interp version gets older, fewer tests are run.
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
000 | TEST: | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|---|
000 | VERSIONS: | 8.6b1.2 | 8.5.9 | 8.4.19 | 8.3.5 | 8.2.3 | 8.0.5 | 7.6p2 |
001 | ARRAY genKeys 50 | 125.90 | 117.27 | 52.49 | 64.00 | 65.00 | 56.00 | 92.00 |
002 | ARRAY genKeys 500 | 1170.09 | 1129.13 | 487.95 | 616.00 | 631.00 | 550.00 | 873.00 |
003 | ARRAY makeHash 500 50 | 16962.77 | 15850.22 | 14860.62 | 15084.00 | 17766.00 | 18333.00 | 22191.00 |
004 | ascii85 strlen 2690 | 2976.49 | 2194.91 | 1667.38 | -=- | -=- | -=- | -=- |
005 | ascii85 strlen 269000 | 273317.7 | 215393.3 | 163868.8 | -=- | -=- | -=- | -=- |
006 | BASE64 decode 10 | 33.57 | 31.18 | 32.19 | 38.00 | 38.00 | 41.00 | -=- |
007 | BASE64 decode 100 | 234.63 | 208.45 | 223.99 | 278.00 | 300.00 | 326.00 | -=- |
008 | BASE64 decode 1000 | 2160.38 | 1868.18 | 2071.27 | 2615.00 | 2959.00 | 3116.00 | -=- |
009 | BASE64 decode 10000 | 21313.37 | 18689.80 | 20510.50 | 25814.00 | 28822.00 | 31127.00 | -=- |
010 | BASE64 decode2 10 | 32.67 | 29.99 | 31.40 | 37.00 | 36.00 | 39.00 | -=- |
011 | BASE64 decode2 100 | 217.46 | 201.54 | 220.14 | 266.00 | 285.00 | 311.00 | -=- |
012 | BASE64 decode2 1000 | 1973.98 | 1806.36 | 2027.22 | 2520.00 | 2809.00 | 3003.00 | -=- |
013 | BASE64 decode2 10000 | 19423.67 | 17818.05 | 20175.90 | 25351.00 | 27554.00 | 29980.00 | -=- |
014 | BASE64 decode3 10 | 23.94 | 19.65 | 17.12 | 23.00 | 23.00 | 23.00 | -=- |
015 | BASE64 decode3 100 | 139.65 | 119.36 | 110.10 | 178.00 | 176.00 | 169.00 | -=- |
016 | BASE64 decode3 1000 | 1262.09 | 1050.72 | 991.28 | 1731.00 | 1702.00 | 1614.00 | -=- |
017 | BASE64 decode3 10000 | 12421.51 | 10014.73 | 9727.60 | 17085.00 | 16699.00 | 16174.00 | -=- |
018 | BASE64 encode 10 | 26.03 | 22.37 | 18.77 | 28.00 | 28.00 | 33.00 | -=- |
019 | BASE64 encode 100 | 174.36 | 155.29 | 124.89 | 204.00 | 221.00 | 287.00 | -=- |
020 | BASE64 encode 1000 | 1640.87 | 1451.79 | 1159.28 | 2021.00 | 2181.00 | 2787.00 | -=- |
021 | BASE64 encode 10000 | 16579.76 | 14469.84 | 11514.80 | 19765.00 | 21326.00 | 27802.00 | -=- |
022 | BASE64 encode2 10 | 18.59 | 16.75 | 17.80 | 28.00 | 26.00 | 32.00 | -=- |
023 | BASE64 encode2 100 | 118.94 | 107.39 | 115.14 | 211.00 | 214.00 | 275.00 | -=- |
024 | BASE64 encode2 1000 | 1115.75 | 980.07 | 1087.74 | 2021.00 | 2086.00 | 2706.00 | -=- |
025 | BASE64 encode2 10000 | 11022.35 | 10019.89 | 10793.10 | 19835.00 | 20466.00 | 26975.00 | -=- |
026 | BASE64 encode3 10 | 16.28 | 14.63 | 12.49 | 16.00 | 15.00 | 15.00 | -=- |
027 | BASE64 encode3 100 | 55.92 | 49.86 | 53.80 | 98.00 | 97.00 | 92.00 | -=- |
028 | BASE64 encode3 1000 | 422.87 | 366.42 | 449.70 | 909.00 | 906.00 | 848.00 | -=- |
029 | BASE64 encode3 10000 | 4113.27 | 3584.47 | 4377.64 | 9018.00 | 9078.00 | 8361.00 | -=- |
030 | BIN bitset-v1 1000 chars | 3713.35 | 2652.96 | 1226.11 | 1163.00 | 1298.00 | 1252.00 | -=- |
031 | BIN bitset-v1 5000 chars | 17901.01 | 13056.81 | 5571.82 | 5414.00 | 6436.00 | 6260.00 | -=- |
032 | BIN bitset-v1 10000 chars | 35450.05 | 25684.94 | 11529.27 | 10368.00 | 12727.00 | 12502.00 | -=- |
033 | BIN bitset-v2 1000 chars | 1851.38 | 1231.29 | 587.36 | 726.00 | 720.00 | 693.00 | -=- |
034 | BIN bitset-v2 5000 chars | 9055.42 | 6106.98 | 2713.94 | 3638.00 | 3466.00 | 3496.00 | -=- |
035 | BIN bitset-v2 10000 chars | 18502.01 | 12341.82 | 5369.52 | 7131.00 | 6857.00 | 7142.00 | -=- |
036 | BIN bitset-v3 1000 chars | 295.27 | 239.06 | 190.23 | 321.00 | 336.00 | 317.00 | -=- |
037 | BIN bitset-v3 5000 chars | 1177.19 | 954.03 | 739.21 | 1591.00 | 1667.00 | 1577.00 | -=- |
038 | BIN bitset-v3 10000 chars | 2263.12 | 1824.23 | 1430.63 | 3169.00 | 3341.00 | 3136.00 | -=- |
039 | BIN c scan, 1000b | 95.23 | 92.71 | 90.55 | 23.00 | 23.00 | 34.00 | -=- |
040 | BIN c scan, 5000b | 232.87 | 228.18 | 214.71 | 112.00 | 110.00 | 112.00 | -=- |
041 | BIN c scan, 10000b | 411.33 | 398.54 | 378.96 | 216.00 | 216.00 | 219.00 | -=- |
042 | BIN chars, 10000b | 2257.38 | 1836.32 | 1409.48 | 3210.00 | 3410.00 | 3268.00 | -=- |
043 | BIN random string 100b | 235.58 | 174.93 | 66.81 | 89.00 | 94.00 | 93.00 | -=- |
044 | BIN random string 5000b | 11961.17 | 8623.38 | 3300.83 | 4400.00 | 4542.00 | 4582.00 | -=- |
045 | BIN u char, 10000b | 414.09 | 404.50 | -=- | -=- | -=- | -=- | -=- |
046 | CATCH error, complex | 8.02 | 6.82 | 2.46 | 2.00 | 2.00 | 2.00 | 3.00 |
047 | CATCH no catch used | 2.77 | 2.52 | 0.56 | 0.00 | 0.00 | 0.00 | 2.00 |
048 | CATCH return error | 8.26 | 6.82 | 2.54 | 2.00 | 2.00 | 2.00 | 3.00 |
049 | CATCH return except | 2.98 | 2.69 | 0.59 | 1.00 | 0.00 | 1.00 | 2.00 |
050 | CATCH return ok | 3.01 | 2.79 | 0.61 | 1.00 | 1.00 | 1.00 | 2.00 |
051 | DATA access in a list | 49.58 | 55.02 | 58.37 | 151.00 | 146.00 | 143.00 | 2788.00 |
052 | DATA access in an array | 177.55 | 156.90 | 96.61 | 159.00 | 159.00 | 157.00 | 504.00 |
053 | DATA create in a list | 52.13 | 60.03 | 50.60 | 171.00 | 186.00 | 174.00 | 489.00 |
054 | DATA create in an array | 326.74 | 322.15 | 293.90 | 337.00 | 336.00 | 431.00 | 708.00 |
055 | ENC iso2022-jp, gets | 1941.05 | 1917.68 | 2401.89 | 846.00 | 782.00 | -=- | -=- |
056 | ENC iso2022-jp, read | 1858.63 | 1846.68 | 2210.36 | 756.00 | 748.00 | -=- | -=- |
057 | ENC iso2022-jp, read & size | 1852.41 | 1871.03 | 2226.78 | 764.00 | 753.00 | -=- | -=- |
058 | ENC iso8859-2, gets | 34.82 | 82.24 | 133.20 | 67.00 | 63.00 | -=- | -=- |
059 | ENC iso8859-2, read | 21.89 | 69.37 | 121.27 | 54.00 | 52.00 | -=- | -=- |
060 | ENC iso8859-2, read & size | 26.56 | 74.99 | 120.15 | 59.00 | 56.00 | -=- | -=- |
061 | EVAL cmd and mixed lists | 714.77 | 597.15 | 202.21 | 169.00 | 427.00 | 292.00 | 37.00 |
062 | EVAL cmd eval as list | 1.30 | 1.10 | 0.74 | 1.00 | 2.00 | 2.00 | 1.00 |
063 | EVAL cmd eval as string | 4.40 | 4.56 | 2.08 | 2.00 | 2.00 | 2.00 | 1.00 |
064 | EVAL cmd eval in list obj var | 2.07 | 1.75 | 1.16 | 1.00 | 2.00 | 3.00 | 2.00 |
065 | EVAL cmd eval in list obj {*} | 1.64 | 1.37 | 8.5+ | 8.5+ | 8.5+ | 8.5+ | 8.5+ |
066 | EVAL list cmd and mixed lists | 710.91 | 594.31 | 202.04 | 169.00 | 432.00 | 293.00 | 37.00 |
067 | EVAL list cmd and pure lists | 8.81 | 8.80 | 14.15 | 9.00 | 432.00 | 294.00 | 37.00 |
068 | EXPR $a != $b dbl | 1.22 | 0.96 | 0.42 | 0.00 | 0.00 | 1.00 | 3.00 |
069 | EXPR $a != $b int | 1.85 | 0.93 | 0.41 | 0.00 | 0.00 | 1.00 | 4.00 |
070 | EXPR $a != $b str (!= len) | 1.48 | 0.85 | 1.03 | 1.00 | 1.00 | 1.00 | 4.00 |
071 | EXPR $a != $b str (== len) | 1.52 | 0.85 | 1.12 | 1.00 | 1.00 | 1.00 | 4.00 |
072 | EXPR $a == $b dbl | 1.33 | 0.97 | 0.42 | 0.00 | 0.00 | 1.00 | 4.00 |
073 | EXPR $a == $b int | 1.84 | 1.00 | 0.41 | 0.00 | 0.00 | 1.00 | 4.00 |
074 | EXPR $a == $b str (!= len) | 1.49 | 0.86 | 1.06 | 1.00 | 1.00 | 1.00 | 4.00 |
075 | EXPR $a == $b str (== len) | 1.10 | 0.91 | 1.10 | 1.00 | 1.00 | 1.00 | 4.00 |
076 | EXPR braced | 2.08 | 1.64 | 0.87 | 1.00 | 1.00 | 1.00 | 7.00 |
077 | EXPR builtin dyn | 9.02 | 8.14 | 2.98 | 2.00 | 2.00 | 3.00 | 3.00 |
078 | EXPR builtin sin | 0.81 | 0.63 | 0.33 | 0.00 | 1.00 | 0.00 | 2.00 |
079 | EXPR cast double | 1.05 | 0.85 | 0.35 | 0.00 | 0.00 | 0.00 | 2.00 |
080 | EXPR cast int | 1.08 | 0.90 | 0.35 | 0.00 | 0.00 | 0.00 | 2.00 |
081 | EXPR fifty operands | 1.71 | 1.59 | 1.22 | 1.00 | 1.00 | 2.00 | 9.00 |
082 | EXPR incr with expr | 0.72 | 0.56 | 0.25 | 0.00 | 0.00 | 0.00 | 1.00 |
083 | EXPR incr with incr | 0.73 | 0.55 | 0.24 | 0.00 | 0.00 | 0.00 | 1.00 |
084 | EXPR inline | 1.61 | 1.35 | 1.13 | 1.00 | 1.00 | 1.00 | 2.00 |
085 | EXPR one operand | 0.70 | 0.56 | 0.25 | 0.00 | 0.00 | 0.00 | 1.00 |
086 | EXPR rand range | 1.61 | 1.21 | 0.41 | 0.00 | 0.00 | 0.00 | -=- |
087 | EXPR rand range func | 1.80 | 1.54 | 0.70 | 1.00 | 1.00 | 1.00 | 3.00 |
088 | EXPR ten operands | 0.89 | 0.73 | 0.44 | 0.00 | 0.00 | 1.00 | 2.00 |
089 | EXPR unbraced | 17.59 | 16.18 | 7.25 | 5.00 | 5.00 | 6.00 | 6.00 |
090 | EXPR unbraced long | 36.11 | 36.14 | 37.84 | 30.00 | 31.00 | 18.00 | 18.00 |
091 | FCOPY binary: 160K | 3300.78 | 3152.56 | 3161.46 | 3125.00 | 3283.00 | -=- | -=- |
092 | FCOPY encoding: 160K | 4125.96 | 4121.87 | 4101.90 | 3108.00 | 3301.00 | -=- | -=- |
093 | FCOPY std: 160K | 3315.79 | 3150.56 | 3175.93 | 3138.00 | 3301.00 | 3153.00 | 6073.00 |
094 | FILE exec interp | 8445.29 | 8057.91 | 7223.30 | 2828.00 | 2284.00 | 2609.00 | 1811.00 |
095 | FILE exec interp: pkg require | 14326.08 | 13706.89 | 10909.80 | 4692.00 | 3946.00 | 3055.00 | 2042.00 |
096 | FILE exists tmpfile (obj) | 3.49 | 3.22 | 2.91 | 3.00 | 3.00 | 3.00 | 3.00 |
097 | FILE exists ~ | 2.61 | 2.29 | 1.90 | 3.00 | 6.00 | 2.00 | 2.00 |
098 | FILE exists! tmpfile (obj) | 3.10 | 3.02 | 1.38 | 3.00 | 3.00 | 2.00 | 2.00 |
099 | FILE exists! tmpfile (str) | 4.96 | 4.78 | 16.30 | 3.00 | 3.00 | 3.00 | 2.00 |
100 | FILE glob tmpdir (60 entries) | 81.14 | 82.13 | 90.09 | 60.00 | 60.00 | 52.00 | 51.00 |
101 | FILE glob / all subcommands | 5267.40 | 5083.94 | 3098.54 | 3463.00 | 3525.00 | 2667.00 | 2659.00 |
102 | FILE glob / atime | 437.70 | 434.83 | 739.90 | 259.00 | 292.00 | 258.00 | 286.00 |
103 | FILE glob / attributes | 2678.36 | 2649.06 | 1224.09 | 856.00 | 894.00 | -=- | -=- |
104 | FILE glob / dirname | 97.41 | 95.64 | 249.17 | 107.00 | 129.00 | 124.00 | 111.00 |
105 | FILE glob / executable | 412.54 | 406.88 | 717.70 | 242.00 | 267.00 | 243.00 | 239.00 |
106 | FILE glob / exists | 400.74 | 385.29 | 695.84 | 225.00 | 248.00 | 226.00 | 226.00 |
107 | FILE glob / extension | 105.07 | 101.77 | 155.98 | 81.00 | 103.00 | 98.00 | 90.00 |
108 | FILE glob / isdirectory | 439.48 | 432.30 | 753.79 | 259.00 | 292.00 | 263.00 | 259.00 |
109 | FILE glob / isfile | 439.10 | 429.89 | 736.32 | 258.00 | 291.00 | 263.00 | 256.00 |
110 | FILE glob / mtime | 446.01 | 433.60 | 736.68 | 259.00 | 290.00 | 261.00 | 290.00 |
111 | FILE glob / owned | 462.74 | 446.80 | 757.93 | 276.00 | 309.00 | 276.00 | 266.00 |
112 | FILE glob / readable | 405.31 | 392.89 | 706.48 | 234.00 | 256.00 | 232.00 | 231.00 |
113 | FILE glob / rootname | 118.28 | 113.24 | 155.15 | 82.00 | 103.00 | 97.00 | 92.00 |
114 | FILE glob / size | 440.60 | 432.78 | 739.17 | 259.00 | 290.00 | 258.00 | 290.00 |
115 | FILE glob / tail | 98.70 | 94.27 | 200.29 | 100.00 | 121.00 | 113.00 | 105.00 |
116 | FILE glob / writable | 405.43 | 392.96 | 704.80 | 234.00 | 255.00 | 231.00 | 230.00 |
117 | FILE recurse / -dir | 2894.90 | 2782.40 | 3510.01 | 2218.00 | 2252.00 | 2508.00 | 2349.00 |
118 | FILE recurse / cd | 4556.53 | 4091.83 | 6447.04 | 2170.00 | 2140.00 | 2404.00 | 2210.00 |
119 | GCCont_cpb::cGCC 50 | 27.76 | 25.23 | 22.53 | 42.00 | 49.00 | 47.00 | -=- |
120 | GCCont_cpb::cGCC 500 | 128.48 | 119.13 | 87.03 | 242.00 | 310.00 | 293.00 | -=- |
121 | GCCont_cpb::cGCC 5000 | 1116.25 | 1048.86 | 714.83 | 2184.00 | 2918.00 | 2755.00 | -=- |
122 | GCCont_cpbre1::cGCC 50 | 32.07 | 30.22 | 24.80 | 27.00 | -=- | -=- | -=- |
123 | GCCont_cpbre1::cGCC 500 | 174.63 | 179.25 | 167.95 | 172.00 | -=- | -=- | -=- |
124 | GCCont_cpbre1::cGCC 5000 | 1629.89 | 1639.31 | 1612.23 | 1618.00 | -=- | -=- | -=- |
125 | GCCont_cpbre2::cGCC 50 | 23.68 | 22.53 | 20.27 | 21.00 | -=- | -=- | -=- |
126 | GCCont_cpbre2::cGCC 500 | 157.13 | 155.09 | 160.67 | 154.00 | -=- | -=- | -=- |
127 | GCCont_cpbre2::cGCC 5000 | 1472.35 | 1483.83 | 1476.66 | 1479.00 | -=- | -=- | -=- |
128 | GCCont_cpbrs2::cGCC 50 | 12.42 | 12.14 | 8.78 | 25.00 | 24.00 | -=- | -=- |
129 | GCCont_cpbrs2::cGCC 500 | 31.37 | 36.22 | 32.87 | 175.00 | 172.00 | -=- | -=- |
130 | GCCont_cpbrs2::cGCC 5000 | 208.49 | 268.83 | 256.39 | 1656.00 | 1663.00 | -=- | -=- |
131 | GCCont_cpbrs::cGCC1 50 | 27.27 | 26.22 | 12.55 | 37.00 | 35.00 | 27.00 | -=- |
132 | GCCont_cpbrs::cGCC1 500 | 46.13 | 49.00 | 38.10 | 205.00 | 204.00 | 54.00 | -=- |
133 | GCCont_cpbrs::cGCC1 5000 | 219.08 | 270.96 | 277.37 | 1866.00 | 1867.00 | 315.00 | -=- |
134 | GCCont_cpbrs::cGCC2 50 | 24.82 | 25.18 | 11.68 | 39.00 | 38.00 | 26.00 | -=- |
135 | GCCont_cpbrs::cGCC2 500 | 40.89 | 46.23 | 34.22 | 211.00 | 221.00 | 50.00 | -=- |
136 | GCCont_cpbrs::cGCC2 5000 | 191.67 | 250.55 | 248.56 | 1912.00 | 1899.00 | 269.00 | -=- |
137 | GCCont_cpbrs_trap::cGCC 50 | 29.73 | 29.36 | 23.98 | 26.00 | 25.00 | 17.00 | -=- |
138 | GCCont_cpbrs_trap::cGCC 500 | 169.06 | 169.57 | 162.53 | 171.00 | 168.00 | 91.00 | -=- |
139 | GCCont_cpbrs_trap::cGCC 5000 | 1544.80 | 1576.59 | 1539.47 | 1608.00 | 1590.00 | 832.00 | -=- |
140 | GCCont_expr::cGCC 50 | 23.15 | 23.02 | 19.34 | 17.00 | 17.00 | -=- | -=- |
141 | GCCont_expr::cGCC 500 | 107.49 | 111.28 | 152.66 | 140.00 | 139.00 | -=- | -=- |
142 | GCCont_expr::cGCC 5000 | 911.47 | 964.16 | 9259.90 | 9330.00 | 9307.00 | -=- | -=- |
143 | GCCont_i::cGCC1 50 | 19.17 | 17.14 | 28.75 | 35.00 | 39.00 | 38.00 | -=- |
144 | GCCont_i::cGCC1 500 | 137.93 | 124.35 | 238.94 | 306.00 | 356.00 | 343.00 | -=- |
145 | GCCont_i::cGCC1 5000 | 1310.24 | 1180.72 | 2457.24 | 3071.00 | 3540.00 | 3358.00 | -=- |
146 | GCCont_i::cGCC2 50 | 16.76 | 15.62 | 11.82 | 17.00 | 22.00 | 21.00 | -=- |
147 | GCCont_i::cGCC2 500 | 115.18 | 109.64 | 78.78 | 125.00 | 185.00 | 180.00 | -=- |
148 | GCCont_i::cGCC2 5000 | 1086.70 | 1036.87 | 742.80 | 1205.00 | 1815.00 | 1767.00 | -=- |
149 | GCCont_i::cGCC3 50 | 14.78 | 13.31 | 11.19 | 16.00 | 21.00 | 20.00 | -=- |
150 | GCCont_i::cGCC3 500 | 93.71 | 85.67 | 72.58 | 117.00 | 175.00 | 168.00 | -=- |
151 | GCCont_i::cGCC3 5000 | 870.75 | 795.81 | 682.13 | 1105.00 | 1705.00 | 1641.00 | -=- |
152 | GCCont_r1::cGCC 50 | 20.41 | 18.47 | 35.53 | 47.00 | 49.00 | 50.00 | -=- |
153 | GCCont_r1::cGCC 500 | 189.97 | 171.65 | 342.79 | 454.00 | 468.00 | 468.00 | -=- |
154 | GCCont_r1::cGCC 5000 | 1882.10 | 1706.70 | 3421.62 | 4467.00 | 4696.00 | 4671.00 | -=- |
155 | GCCont_r2::cGCC 50 | 19.61 | 17.58 | 31.97 | 39.00 | 41.00 | 40.00 | -=- |
156 | GCCont_r2::cGCC 500 | 146.14 | 125.66 | 264.06 | 330.00 | 382.00 | 359.00 | -=- |
157 | GCCont_r2::cGCC 5000 | 1386.92 | 1200.59 | 2609.40 | 3316.00 | 3786.00 | 3566.00 | -=- |
158 | GCCont_r3::cGCC 50 | 19.78 | 17.51 | 31.20 | 38.00 | 42.00 | 40.00 | -=- |
159 | GCCont_r3::cGCC 500 | 147.34 | 128.40 | 269.47 | 334.00 | 387.00 | 362.00 | -=- |
160 | GCCont_r3::cGCC 5000 | 1422.51 | 1244.60 | 2644.66 | 3258.00 | 3806.00 | 3548.00 | -=- |
161 | GCCont_rsf1::cGCC 50 | 20.68 | 18.92 | 15.47 | 18.00 | 26.00 | -=- | -=- |
162 | GCCont_rsf1::cGCC 500 | 105.89 | 103.72 | 89.05 | 112.00 | 192.00 | -=- | -=- |
163 | GCCont_rsf1::cGCC 5000 | 935.80 | 936.19 | 817.42 | 1015.00 | 1825.00 | -=- | -=- |
164 | GCCont_rsf2::cGCC1 50 | 14.89 | 13.55 | 10.39 | 13.00 | 17.00 | -=- | -=- |
165 | GCCont_rsf2::cGCC1 500 | 58.39 | 56.42 | 49.72 | 71.00 | 107.00 | -=- | -=- |
166 | GCCont_rsf2::cGCC1 5000 | 475.32 | 479.03 | 424.18 | 651.00 | 975.00 | -=- | -=- |
167 | GCCont_rsf2::cGCC2 50 | 12.35 | 11.03 | 9.13 | 11.00 | 14.00 | -=- | -=- |
168 | GCCont_rsf2::cGCC2 500 | 54.91 | 53.10 | 46.59 | 63.00 | 98.00 | -=- | -=- |
169 | GCCont_rsf2::cGCC2 5000 | 456.74 | 461.19 | 409.39 | 580.00 | 913.00 | -=- | -=- |
170 | GCCont_rsf3::cGCC 50 | 12.50 | 11.28 | 9.33 | 10.00 | 14.00 | -=- | -=- |
171 | GCCont_rsf3::cGCC 500 | 54.81 | 53.89 | 47.15 | 63.00 | 97.00 | -=- | -=- |
172 | GCCont_rsf3::cGCC 5000 | 467.26 | 472.21 | 410.83 | 575.00 | 917.00 | -=- | -=- |
173 | GCCont_turing::cGCC 50 | 8.12 | 8.75 | 7.16 | 10.00 | 9.00 | -=- | -=- |
174 | GCCont_turing::cGCC 500 | 27.69 | 34.78 | 33.03 | 54.00 | 57.00 | -=- | -=- |
175 | GCCont_turing::cGCC 5000 | 213.79 | 289.46 | 285.73 | 494.00 | 480.00 | -=- | -=- |
176 | HEAPSORT size 10 | 41.98 | 38.69 | 30.57 | 39.00 | 38.00 | 414.00 | 212.00 |
177 | HEAPSORT size 50 | 361.38 | 322.66 | 248.04 | 338.00 | 329.00 | 2413.00 | 1627.00 |
178 | HEAPSORT size 100 | 877.05 | 792.73 | 605.56 | 790.00 | 760.00 | 5123.00 | 3813.00 |
179 | HEAPSORT2 size 10 | 24.13 | 21.85 | 27.38 | -=- | -=- | -=- | -=- |
180 | HEAPSORT2 size 50 | 190.81 | 176.19 | 211.96 | -=- | -=- | -=- | -=- |
181 | HEAPSORT2 size 100 | 444.91 | 409.49 | 507.62 | -=- | -=- | -=- | -=- |
182 | IF 1/0 check | 0.76 | 0.59 | 0.29 | 1.00 | 1.00 | 1.00 | 2.00 |
183 | IF else true al | 1.18 | 0.99 | 1.31 | 1.00 | 1.00 | 1.00 | 4.00 |
184 | IF else true numeric | 0.93 | 0.79 | 0.65 | 1.00 | 1.00 | 1.00 | 4.00 |
185 | IF elseif true al | 1.24 | 1.04 | 0.99 | 1.00 | 1.00 | 1.00 | 4.00 |
186 | IF elseif true numeric | 0.98 | 0.81 | 0.51 | 1.00 | 1.00 | 1.00 | 4.00 |
187 | IF if false al/al | 1.31 | 1.15 | 0.71 | 1.00 | 1.00 | 1.00 | 3.00 |
188 | IF if false al/num | 1.34 | 1.12 | 0.58 | 1.00 | 1.00 | 1.00 | 5.00 |
189 | IF if false num/num | 1.24 | 1.01 | 0.38 | 1.00 | 1.00 | 1.00 | 4.00 |
190 | IF if true al | 0.98 | 0.82 | 0.58 | 1.00 | 1.00 | 1.00 | 3.00 |
191 | IF if true al/al | 1.17 | 0.99 | 0.58 | 1.00 | 1.00 | 1.00 | 3.00 |
192 | IF if true num/num | 1.07 | 0.87 | 0.45 | 1.00 | 1.00 | 1.00 | 4.00 |
193 | IF if true numeric | 0.93 | 0.75 | 0.42 | 0.00 | 0.00 | 0.00 | 3.00 |
194 | IF multi 1st true | 0.90 | 0.73 | 0.44 | 0.00 | 0.00 | 0.00 | 5.00 |
195 | IF multi 2nd true | 0.96 | 0.78 | 0.50 | 1.00 | 1.00 | 1.00 | 5.00 |
196 | IF multi 9th true | 1.34 | 1.09 | 0.83 | 1.00 | 1.00 | 1.00 | 9.00 |
197 | IF multi default true | 1.26 | 1.06 | 0.84 | 1.00 | 1.00 | 1.00 | 10.00 |
198 | KLIST shuffle0 llength 1 | 5.44 | 4.98 | 4.81 | 7.00 | 7.00 | 7.00 | 8.0+ |
199 | KLIST shuffle0 llength 10 | 14.66 | 13.79 | 13.05 | 20.00 | 20.00 | 21.00 | 8.0+ |
200 | KLIST shuffle0 llength 100 | 96.03 | 91.20 | 95.05 | 156.00 | 155.00 | 159.00 | 8.0+ |
201 | KLIST shuffle0 llength 1000 | 939.43 | 892.72 | 1014.18 | 1596.00 | 1588.00 | 1648.00 | 8.0+ |
202 | KLIST shuffle0 llength 10000 | 10582.41 | 10161.35 | 13563.70 | 19460.00 | 18871.00 | 19732.00 | -=- |
203 | KLIST shuffle1-s llength 1 | 2.60 | 2.11 | 3.18 | 4.00 | 4.00 | 3.00 | 13.00 |
204 | KLIST shuffle1-s llength 10 | 19.81 | 16.19 | 15.51 | 16.00 | 19.00 | 18.00 | 82.00 |
205 | KLIST shuffle1-s llength 100 | 239.52 | 198.99 | 187.46 | 190.00 | 215.00 | 205.00 | 1228.00 |
206 | KLIST shuffle1-s llength 1000 | 9550.13 | 9151.63 | 10285.44 | 10348.00 | 9028.00 | 8880.00 | 49759.00 |
207 | KLIST shuffle1a llength 1 | 3.08 | 2.50 | 3.55 | 4.00 | 4.00 | 3.00 | 16.00 |
208 | KLIST shuffle1a llength 10 | 23.76 | 19.29 | 15.28 | 18.00 | 21.00 | 20.00 | 115.00 |
209 | KLIST shuffle1a llength 100 | 222.60 | 184.56 | 142.83 | 163.00 | 196.00 | 190.00 | 1619.00 |
210 | KLIST shuffle1a llength 1000 | 2252.18 | 1826.29 | 1435.66 | 1620.00 | 1974.00 | 1881.00 | 55517.00 |
211 | KLIST shuffle1a llength 10000 | 22613.02 | 18493.59 | 14411.40 | 16436.00 | 19658.00 | 19191.00 | -=- |
212 | KLIST shuffle2 llength 1 | 3.55 | 3.05 | 3.72 | 5.00 | 5.00 | 6.00 | 16.00 |
213 | KLIST shuffle2 llength 10 | 32.38 | 27.91 | 17.99 | 23.00 | 23.00 | 34.00 | 90.00 |
214 | KLIST shuffle2 llength 100 | 312.82 | 264.67 | 162.25 | 202.00 | 201.00 | 294.00 | 806.00 |
215 | KLIST shuffle2 llength 1000 | 3163.64 | 2816.51 | 1611.84 | 2009.00 | 1999.00 | 2918.00 | 8022.00 |
216 | KLIST shuffle2 llength 10000 | 32815.43 | 27742.77 | 17442.40 | 20989.00 | 21025.00 | 31596.00 | -=- |
217 | KLIST shuffle3 llength 1 | 2.71 | 2.18 | 3.28 | 4.00 | 5.00 | 4.00 | 12.00 |
218 | KLIST shuffle3 llength 10 | 19.04 | 14.75 | 11.47 | 16.00 | 18.00 | 18.00 | 83.00 |
219 | KLIST shuffle3 llength 100 | 174.58 | 136.16 | 102.25 | 138.00 | 155.00 | 146.00 | 924.00 |
220 | KLIST shuffle3 llength 1000 | 1779.86 | 1380.01 | 1048.41 | 1546.00 | 1741.00 | 1631.00 | 19313.00 |
221 | KLIST shuffle3 llength 10000 | 25691.16 | 21670.15 | 18187.20 | 36542.00 | 38782.00 | 37207.00 | -=- |
222 | KLIST shuffle4 llength 1 | 2.79 | 2.23 | 3.36 | 5.00 | 5.00 | 4.00 | 13.00 |
223 | KLIST shuffle4 llength 10 | 19.48 | 15.62 | 12.35 | 17.00 | 19.00 | 19.00 | 90.00 |
224 | KLIST shuffle4 llength 100 | 176.93 | 142.00 | 107.59 | 150.00 | 166.00 | 161.00 | 1162.00 |
225 | KLIST shuffle4 llength 1000 | 1757.15 | 1388.30 | 1053.44 | 1470.00 | 1642.00 | 1579.00 | 31561.00 |
226 | KLIST shuffle4 llength 10000 | 17800.11 | 13980.40 | 10632.20 | 14771.00 | 16479.00 | 16264.00 | -=- |
227 | KLIST shuffle5-s llength 1 | 2.05 | 1.55 | 1.33 | 2.00 | 2.00 | 1.00 | 9.00 |
228 | KLIST shuffle5-s llength 10 | 15.32 | 12.53 | 10.11 | 10.00 | 10.00 | 10.00 | 57.00 |
229 | KLIST shuffle5-s llength 100 | 159.04 | 133.82 | 102.85 | 99.00 | 95.00 | 93.00 | 620.00 |
230 | KLIST shuffle5-s llength 1000 | 3226.23 | 2835.44 | 2929.37 | 3047.00 | 2506.00 | 2495.00 | 12592.00 |
231 | KLIST shuffle5a llength 1 | 2.54 | 1.90 | 1.64 | 2.00 | 2.00 | 2.00 | 11.00 |
232 | KLIST shuffle5a llength 10 | 18.22 | 14.69 | 9.65 | 10.00 | 10.00 | 10.00 | 72.00 |
233 | KLIST shuffle5a llength 100 | 170.36 | 135.16 | 86.46 | 93.00 | 88.00 | 89.00 | 779.00 |
234 | KLIST shuffle5a llength 1000 | 1704.31 | 1386.86 | 899.42 | 1112.00 | 1065.00 | 1065.00 | 13806.00 |
235 | KLIST shuffle5a llength 10000 | 25028.70 | 21972.47 | 16451.00 | 31830.00 | 31416.00 | 31581.00 | -=- |
236 | KLIST shuffle6 llength 1 | 0.46 | 0.39 | 0.39 | -=- | -=- | -=- | -=- |
237 | KLIST shuffle6 llength 10 | 7.73 | 6.75 | 5.47 | -=- | -=- | -=- | -=- |
238 | KLIST shuffle6 llength 100 | 74.70 | 64.54 | 50.41 | -=- | -=- | -=- | -=- |
239 | KLIST shuffle6 llength 1000 | 747.65 | 647.33 | 493.12 | -=- | -=- | -=- | -=- |
240 | KLIST shuffle6 llength 10000 | 7540.16 | 6452.48 | 5034.80 | -=- | -=- | -=- | -=- |
241 | LIST append to list | 1.10 | 1.03 | 0.66 | 1.00 | 1.00 | 1.00 | 1.00 |
242 | LIST concat APPEND 2x10 | 6.48 | 5.83 | 5.79 | 5.00 | 5.00 | 5.00 | 2.00 |
243 | LIST concat APPEND 2x100 | 42.68 | 41.17 | 38.23 | 37.00 | 35.00 | 34.00 | 5.00 |
244 | LIST concat APPEND 2x1000 | 375.21 | 380.88 | 346.69 | 327.00 | 330.00 | 321.00 | 31.00 |
245 | LIST concat APPEND 2x10000 | 3693.55 | 3782.24 | 3489.57 | 3237.00 | 3229.00 | 3172.00 | 286.00 |
246 | LIST concat CONCAT 2x10 | 1.33 | 1.06 | 1.15 | 1.00 | 4.00 | 4.00 | 2.00 |
247 | LIST concat CONCAT 2x100 | 1.87 | 1.68 | 1.70 | 2.00 | 32.00 | 31.00 | 6.00 |
248 | LIST concat CONCAT 2x1000 | 8.60 | 8.47 | 8.63 | 8.00 | 297.00 | 290.00 | 33.00 |
249 | LIST concat CONCAT 2x10000 | 78.25 | 77.93 | 77.81 | 78.00 | 2949.00 | 2911.00 | 304.00 |
250 | LIST concat EVAL/LAPPEND 2x10 | 2.16 | 1.78 | 2.69 | 2.00 | 4.00 | 4.00 | 4.00 |
251 | LIST concat EVAL/LAPPEND 2x100 | 3.09 | 2.72 | 3.91 | 3.00 | 12.00 | 10.00 | 12.00 |
252 | LIST concat EVAL/LAPPEND 2x1000 | 14.12 | 14.04 | 18.98 | 14.00 | 60.00 | 63.00 | 88.00 |
253 | LIST concat EVAL/LAPPEND 2x10000 | 119.52 | 117.71 | 162.88 | 126.00 | 574.00 | 605.00 | 833.00 |
254 | LIST concat FOREACH/LAPPEND 2x10 | 2.67 | 1.89 | 1.89 | 4.00 | 4.00 | 4.00 | 6.00 |
255 | LIST concat FOREACH/LAPPEND 2x100 | 16.73 | 10.99 | 8.76 | 24.00 | 27.00 | 23.00 | 31.00 |
256 | LIST concat FOREACH/LAPPEND 2x1000 | 145.12 | 98.79 | 77.12 | 231.00 | 242.00 | 221.00 | 270.00 |
257 | LIST concat FOREACH/LAPPEND 2x10000 | 1356.90 | 993.84 | 763.64 | 2299.00 | 2413.00 | 2178.00 | 2683.00 |
258 | LIST concat SET 2x10 | 4.96 | 4.82 | 5.17 | 4.00 | 4.00 | 4.00 | 2.00 |
259 | LIST concat SET 2x100 | 37.86 | 38.34 | 34.63 | 32.00 | 32.00 | 31.00 | 6.00 |
260 | LIST concat SET 2x1000 | 356.89 | 368.26 | 326.91 | 302.00 | 301.00 | 295.00 | 31.00 |
261 | LIST concat SET 2x10000 | 3516.40 | 3590.39 | 3209.16 | 2964.00 | 2953.00 | 2915.00 | 292.00 |
262 | LIST exact search, first item | 1.44 | 1.15 | 0.50 | 0.00 | 0.00 | 0.00 | 33.00 |
263 | LIST exact search, last item | 2.88 | 2.64 | 1.97 | 2.00 | 2.00 | 2.00 | 33.00 |
264 | LIST exact search, middle item | 1.98 | 1.62 | 0.99 | 1.00 | 1.00 | 1.00 | 34.00 |
265 | LIST exact search, non-item | 5.37 | 5.13 | 4.61 | 4.00 | 4.00 | 4.00 | 36.00 |
266 | LIST exact search, typed item | 3.79 | 3.21 | 2.09 | 2.00 | 2.00 | 2.00 | 34.00 |
267 | LIST exact search, untyped item | 2.83 | 2.59 | 1.98 | 2.00 | 2.00 | 2.00 | 34.00 |
268 | LIST index first element | 0.92 | 0.69 | 0.39 | 0.00 | 0.00 | 0.00 | 3.00 |
269 | LIST index last element | 0.93 | 0.71 | 0.38 | 0.00 | 0.00 | 0.00 | 6.00 |
270 | LIST index middle element | 0.93 | 0.67 | 0.38 | 0.00 | 0.00 | 0.00 | 4.00 |
271 | LIST insert an item at "end" | 5.20 | 4.98 | 4.40 | 4.00 | 4.00 | 4.00 | 21.00 |
272 | LIST insert an item at middle | 5.24 | 4.95 | 4.61 | 5.00 | 5.00 | 5.00 | 6.00 |
273 | LIST insert an item at start | 5.17 | 4.95 | 4.63 | 5.00 | 5.00 | 5.00 | 4.00 |
274 | LIST iterate list | 97.44 | 88.08 | 127.92 | 314.00 | 300.00 | 340.00 | 27513.00 |
275 | LIST join list | 35.60 | 34.70 | 33.45 | 37.00 | 38.00 | 26.00 | 80.00 |
276 | LIST large, early range | 1.86 | 1.67 | 0.96 | 1.00 | 1.00 | 1.00 | 6.00 |
277 | LIST large, late range | 1.82 | 1.60 | 0.97 | 1.00 | 1.00 | 1.00 | 7.00 |
278 | LIST length, pure list | 0.64 | 0.47 | 0.39 | 0.00 | 0.00 | 0.00 | 36.00 |
279 | LIST list | 2.90 | 2.53 | 1.46 | 2.00 | 2.00 | 2.00 | 6.00 |
280 | LIST lset foreach l | 877.58 | 154.49 | 143.11 | =8.4 | =8.4 | =8.4 | =8.4 |
281 | LIST lset foreach list | 884.23 | 152.48 | 144.17 | =8.4 | =8.4 | =8.4 | =8.4 |
282 | LIST lset foreach ""s l | 38.92 | 34.60 | 42.39 | =8.4 | =8.4 | =8.4 | =8.4 |
283 | LIST lset foreach ""s list | 39.18 | 34.76 | 41.25 | =8.4 | =8.4 | =8.4 | =8.4 |
284 | LIST regexp search, first item | 1.54 | 1.23 | 1.08 | 1.00 | 1.00 | 1.00 | 33.00 |
285 | LIST regexp search, last item | 10.17 | 9.75 | 69.19 | 74.00 | 76.00 | 13.00 | 45.00 |
286 | LIST regexp search, non-item | 19.32 | 18.81 | 143.42 | 156.00 | 162.00 | 23.00 | 53.00 |
287 | LIST remove first element | 4.91 | 4.66 | 4.63 | 5.00 | 5.00 | 5.00 | 4.00 |
288 | LIST remove in mixed list | 4.92 | 4.61 | 4.94 | 5.00 | 165.00 | 5.00 | 6.00 |
289 | LIST remove last element | 4.97 | 4.73 | 4.55 | 5.00 | 5.00 | 5.00 | 8.00 |
290 | LIST remove middle element | 4.97 | 4.70 | 4.58 | 5.00 | 5.00 | 5.00 | 6.00 |
291 | LIST replace first el with multiple | 5.29 | 5.12 | 4.70 | 5.00 | 5.00 | 5.00 | 6.00 |
292 | LIST replace first element | 5.30 | 4.98 | 4.37 | 4.00 | 4.00 | 4.00 | 5.00 |
293 | LIST replace in mixed list | 5.25 | 4.96 | 4.72 | 5.00 | 164.00 | 5.00 | 6.00 |
294 | LIST replace last el with multiple | 5.58 | 5.48 | 4.48 | 4.00 | 5.00 | 4.00 | 23.00 |
295 | LIST replace last element | 5.50 | 5.22 | 4.37 | 4.00 | 4.00 | 4.00 | 22.00 |
296 | LIST replace middle el with multiple | 5.48 | 5.35 | 4.62 | 5.00 | 5.00 | 5.00 | 14.00 |
297 | LIST replace middle element | 5.43 | 5.17 | 4.37 | 4.00 | 4.00 | 4.00 | 14.00 |
298 | LIST replace range | 1.97 | 1.65 | 4.40 | 4.00 | 4.00 | 4.00 | 17.00 |
299 | LIST reverse core | 4.83 | 4.81 | 8.5+ | 8.5+ | 8.5+ | 8.5+ | 8.5+ |
300 | LIST reverse lappend | 100.96 | 97.10 | 135.99 | 385.00 | 385.00 | 368.00 | 9975.00 |
301 | LIST small, early range | 1.50 | 1.34 | 0.78 | 1.00 | 1.00 | 1.00 | 4.00 |
302 | LIST small, late range | 1.55 | 1.36 | 0.77 | 1.00 | 1.00 | 1.00 | 7.00 |
303 | LIST sort | 75.50 | 75.67 | 125.69 | 121.00 | 122.00 | 123.00 | 182.00 |
304 | LIST sorted search, first item | 1.58 | 1.20 | 0.57 | 0.00 | 0.00 | 0.00 | 33.00 |
305 | LIST sorted search, last item | 1.55 | 1.20 | 0.58 | 2.00 | 2.00 | 2.00 | 34.00 |
306 | LIST sorted search, middle item | 1.56 | 1.23 | 0.58 | 1.00 | 1.00 | 1.00 | 33.00 |
307 | LIST sorted search, non-item | 1.55 | 1.21 | 0.57 | 4.00 | 4.00 | 4.00 | 36.00 |
308 | LIST sorted search, typed item | 1.95 | 1.59 | 0.58 | 2.00 | 2.00 | 2.00 | 34.00 |
309 | LIST typed sort | 60.73 | 58.99 | 109.66 | 110.00 | 113.00 | 109.00 | 233.00 |
310 | LOOP for (to 1000) | 56.03 | 58.51 | 51.98 | 129.00 | 127.00 | 137.00 | 907.00 |
311 | LOOP for, iterate list | 100.01 | 93.36 | 134.15 | 231.00 | 221.00 | 233.00 | 10035.00 |
312 | LOOP for, iterate string | 178.61 | 170.34 | 191.46 | 312.00 | 332.00 | 305.00 | 1506.00 |
313 | LOOP foreach, iterate list | 83.83 | 75.53 | 56.01 | 84.00 | 83.00 | 91.00 | 259.00 |
314 | LOOP foreach, iterate string | 108.51 | 103.99 | 74.72 | 103.00 | 225.00 | 228.00 | 261.00 |
315 | LOOP while (to 1000) | 56.21 | 52.71 | 51.98 | 129.00 | 126.00 | 134.00 | 899.00 |
316 | LOOP while 1 (to 1000) | 51.24 | 45.55 | 42.08 | 103.00 | 121.00 | 128.00 | 941.00 |
317 | MAP ([chars])-case regsub | 14.78 | 15.00 | 13.19 | 13.00 | 12.00 | 3.00 | 5.00 |
318 | MAP http mapReply | 3007.47 | 3106.54 | 2588.14 | 3008.00 | 2981.00 | 2700.00 | 1911.00 |
319 | MAP regsub -nocase, no match | 85.28 | 89.69 | 87.58 | 134.00 | 134.00 | 69.00 | 67.00 |
320 | MAP regsub 1 val | 24.36 | 53.99 | 51.42 | 192.00 | 192.00 | 34.00 | 65.00 |
321 | MAP regsub 1 val -nocase | 56.38 | 85.00 | 82.99 | 188.00 | 187.00 | 49.00 | 72.00 |
322 | MAP regsub 2 val | 60.14 | 134.58 | 135.84 | 967.00 | 946.00 | 83.00 | 143.00 |
323 | MAP regsub 2 val -nocase | 120.62 | 196.87 | 191.48 | 952.00 | 948.00 | 113.00 | 173.00 |
324 | MAP regsub 3 val | 79.50 | 194.92 | 189.19 | 1346.00 | 1339.00 | 113.00 | 187.00 |
325 | MAP regsub 3 val -nocase | 165.82 | 282.53 | 274.38 | 1328.00 | 1334.00 | 157.00 | 235.00 |
326 | MAP regsub 4 val | 98.72 | 252.31 | 243.58 | 1700.00 | 1705.00 | 143.00 | 235.00 |
327 | MAP regsub 4 val -nocase | 209.56 | 366.58 | 350.59 | 1692.00 | 1694.00 | 200.00 | 297.00 |
328 | MAP regsub short | 3.96 | 3.86 | 2.05 | 7.00 | 7.00 | 2.00 | 6.00 |
329 | MAP regsub, no match | 19.16 | 20.96 | 21.39 | 134.00 | 147.00 | 39.00 | 37.00 |
330 | MAP string -nocase, no match | 114.12 | 135.04 | 136.43 | 890.00 | 882.00 | nomap | nomap |
331 | MAP string 1 val | 29.54 | 52.85 | 51.58 | 215.00 | 233.00 | nomap | nomap |
332 | MAP string 1 val -nocase | 60.48 | 84.67 | 80.04 | 385.00 | 455.00 | nomap | nomap |
333 | MAP string 2 val | 74.02 | 108.17 | 104.12 | 238.00 | 238.00 | nomap | nomap |
334 | MAP string 2 val -nocase | 125.05 | 158.64 | 158.07 | 573.00 | 596.00 | nomap | nomap |
335 | MAP string 3 val | 109.22 | 128.99 | 122.05 | 312.00 | 267.00 | nomap | nomap |
336 | MAP string 3 val -nocase | 158.79 | 193.24 | 194.93 | 1031.00 | 866.00 | nomap | nomap |
337 | MAP string 4 val | 122.97 | 155.30 | 144.00 | 313.00 | 316.00 | nomap | nomap |
338 | MAP string 4 val -nocase | 194.16 | 258.25 | 256.94 | 1300.00 | 1401.00 | nomap | nomap |
339 | MAP string short | 3.41 | 3.32 | 1.64 | 2.00 | 2.00 | nomap | nomap |
340 | MAP string, no match | 52.32 | 73.06 | 67.59 | 275.00 | 270.00 | nomap | nomap |
341 | MAP |-case regsub | 9.67 | 9.53 | 7.47 | 7.00 | 8.00 | 2.00 | 4.00 |
342 | MAP |-case strmap | 3.64 | 3.22 | 1.82 | 2.00 | 2.00 | nomap | nomap |
343 | MATRIX mult 5x5 | 46.88 | 44.57 | 36.69 | 58.00 | 58.00 | 59.00 | 305.00 |
344 | MATRIX mult 10x10 | 292.08 | 288.65 | 225.59 | 351.00 | 342.00 | 359.00 | 2161.00 |
345 | MATRIX mult 15x15 | 932.18 | 916.75 | 713.67 | 1094.00 | 1055.00 | 1126.00 | 7460.00 |
346 | MATRIX transposition-0 | 548.96 | 469.09 | 362.39 | 887.00 | 884.00 | 855.00 | 2138.00 |
347 | MATRIX transposition-1 | 205.11 | 199.93 | 266.96 | 622.00 | 595.00 | 586.00 | 6088.00 |
348 | MD5 msg len 10 | 133.52 | 110.89 | 97.29 | 102.00 | 99.00 | -=- | -=- |
349 | MD5 msg len 100 | 202.58 | 181.78 | 157.31 | 168.00 | 165.00 | -=- | -=- |
350 | MD5 msg len 1000 | 1881.76 | 1698.71 | 1021.43 | 1088.00 | 1053.00 | -=- | -=- |
351 | MD5 msg len 10000 | 51598.54 | 48342.36 | 9649.00 | 10327.00 | 10002.00 | -=- | -=- |
352 | MTHD array stored proc call | 1.02 | 0.79 | 0.37 | 0.00 | 0.00 | 0.00 | -=- |
353 | MTHD call absolute | 1.63 | 1.42 | 0.81 | 1.00 | 1.00 | 1.00 | -=- |
354 | MTHD call relative | 1.84 | 1.59 | 1.09 | 1.00 | 1.00 | 1.00 | -=- |
355 | MTHD direct ns proc call | 0.73 | 0.56 | 0.26 | 0.00 | 0.00 | 0.00 | -=- |
356 | MTHD imported ns proc call | 0.76 | 0.53 | 0.26 | 0.00 | 0.00 | 0.00 | -=- |
357 | MTHD indirect proc eval | 2.68 | 2.35 | 1.49 | 1.00 | 2.00 | 3.00 | -=- |
358 | MTHD indirect proc eval #2 | 1.52 | 1.32 | 1.92 | 2.00 | 2.00 | 2.00 | -=- |
359 | MTHD inline call | 0.19 | 0.15 | 0.13 | 0.00 | 0.00 | 0.00 | -=- |
360 | MTHD interp alias proc call | 1.04 | 0.62 | 0.34 | 1.00 | 1.00 | 0.00 | -=- |
361 | MTHD ns lookup call | 6.47 | 5.51 | 3.87 | 4.00 | 5.00 | 6.00 | -=- |
362 | MTHD switch method call | 2.95 | 2.66 | 1.89 | 2.00 | 3.00 | 4.00 | -=- |
363 | NS alternating | 229.66 | 195.36 | 116.13 | 121.00 | 116.00 | 68.00 | -=- |
364 | PARSE html form upload (7978) | 1196.28 | 1013.67 | 931.45 | 1218.00 | 1233.00 | 991.00 | -=- |
365 | PARSE html form upload (993570) | 136701.6 | 112947.5 | 102455.8 | 130402.0 | 133235.0 | 122307.0 | -=- |
366 | PROC do-nothing, no args | 0.43 | 0.32 | 0.21 | 0.00 | 1.00 | 0.00 | 0.00 |
367 | PROC do-nothing, one arg | 0.67 | 0.52 | 0.24 | 0.00 | 0.00 | 0.00 | 0.00 |
368 | PROC empty, no args | 0.11 | 0.08 | 0.05 | 0.00 | 1.00 | 0.00 | 1.00 |
369 | PROC empty, use args | 0.11 | 0.08 | 0.05 | 0.00 | 0.00 | 0.00 | 1.00 |
370 | PROC explicit return | 0.71 | 0.55 | 0.24 | 0.00 | 0.00 | 0.00 | 1.00 |
371 | PROC explicit return (2) | 0.67 | 0.52 | 0.26 | 0.00 | 0.00 | 0.00 | 1.00 |
372 | PROC explicit return (3) | 0.65 | 0.54 | 0.24 | 0.00 | 0.00 | 0.00 | 1.00 |
373 | PROC heavily commented | 0.66 | 0.52 | 0.24 | 0.00 | 0.00 | 0.00 | 22.00 |
374 | PROC implicit return | 0.71 | 0.58 | 0.28 | 0.00 | 0.00 | 0.00 | 1.00 |
375 | PROC implicit return (2) | 0.67 | 0.53 | 0.30 | 0.00 | 0.00 | 0.00 | 1.00 |
376 | PROC implicit return (3) | 0.66 | 0.52 | 0.24 | 0.00 | 0.00 | 0.00 | 0.00 |
377 | PROC local links with global | 19.32 | 19.00 | 41.32 | 48.00 | 48.00 | 48.00 | 255.00 |
378 | PROC local links with upvar | 18.75 | 18.12 | 35.85 | 41.00 | 42.00 | 43.00 | 250.00 |
379 | PROC local links with variable | 18.13 | 16.89 | 30.33 | 36.00 | 36.00 | 19.00 | 245.00 |
380 | RE 1-char long-end | 3.94 | 3.74 | 3.80 | 4.00 | 4.00 | 57.00 | 60.00 |
381 | RE 1-char long-end catching | 8.01 | 7.81 | 6.52 | 9.00 | 8.00 | 61.00 | 62.00 |
382 | RE 1-char long-middle | 2.60 | 2.30 | 2.34 | 2.00 | 2.00 | 29.00 | 31.00 |
383 | RE 1-char long-middle catching | 6.63 | 6.47 | 5.10 | 7.00 | 7.00 | 32.00 | 34.00 |
384 | RE 1-char long-start | 1.08 | 0.91 | 0.95 | 1.00 | 1.00 | 1.00 | 2.00 |
385 | RE 1-char long-start catching | 5.15 | 5.02 | 3.67 | 5.00 | 5.00 | 4.00 | 5.00 |
386 | RE 1-char short | 1.06 | 0.91 | 0.93 | 1.00 | 1.00 | 1.00 | 2.00 |
387 | RE 1-char short catching | 5.18 | 5.10 | 3.73 | 6.00 | 5.00 | 4.00 | 5.00 |
388 | RE basic | 0.96 | 0.81 | 0.84 | 1.00 | 1.00 | 1.00 | 2.00 |
389 | RE basic catching | 5.97 | 6.91 | 4.09 | 6.00 | 6.00 | 4.00 | 5.00 |
390 | RE c-comment long | 5.02 | 4.94 | 4.97 | 5.00 | 5.00 | 7.00 | 8.00 |
391 | RE c-comment long catching | 17.51 | 17.00 | 15.64 | 18.00 | 17.00 | 10.00 | 14.00 |
392 | RE c-comment long nomatch | 7.35 | 7.11 | 7.12 | 7.00 | 7.00 | 2.00 | 4.00 |
393 | RE c-comment long nomatch catching | 9.05 | 8.65 | 7.26 | 7.00 | 7.00 | 3.00 | 5.00 |
394 | RE c-comment long pmatch | 8.08 | 7.85 | 7.98 | 8.00 | 8.00 | 42.00 | 44.00 |
395 | RE c-comment long pmatch catching | 10.01 | 9.49 | 8.06 | 8.00 | 8.00 | 42.00 | 47.00 |
396 | RE c-comment many *s | 8.20 | 8.12 | 8.12 | 8.00 | 8.00 | 13.00 | 14.00 |
397 | RE c-comment many *s catching | 27.37 | 26.79 | 25.33 | 27.00 | 27.00 | 16.00 | 25.00 |
398 | RE c-comment nomatch | 1.88 | 1.63 | 1.68 | 1.00 | 1.00 | 1.00 | 1.00 |
399 | RE c-comment nomatch catching | 3.35 | 3.15 | 1.80 | 2.00 | 2.00 | 1.00 | 2.00 |
400 | RE c-comment simple | 2.87 | 2.67 | 2.73 | 3.00 | 3.00 | 2.00 | 2.00 |
401 | RE c-comment simple catching | 13.67 | 13.60 | 11.90 | 14.00 | 14.00 | 5.00 | 6.00 |
402 | RE count all matches | 9.39 | 9.06 | 8.25 | 8.00 | 22.00 | 19.00 | 41.00 |
403 | RE extract all matches | 11.95 | 12.37 | 10.97 | 11.00 | 28.00 | 24.00 | 55.00 |
404 | RE ini file | 5719.33 | 5775.61 | 5708.00 | 5709.00 | 5739.00 | 35.00 | 52.00 |
405 | RE ini file ng | 41.82 | 41.58 | 39.88 | 42.00 | 42.00 | -=- | -=- |
406 | RE literal regexp | 1.94 | 1.65 | 1.65 | 2.00 | 2.00 | 1.00 | 1.00 |
407 | RE n-char long-end | 3.97 | 3.67 | 3.83 | 4.00 | 4.00 | 60.00 | 62.00 |
408 | RE n-char long-end catching | 8.79 | 8.40 | 7.29 | 9.00 | 9.00 | 64.00 | 70.00 |
409 | RE n-char long-middle | 2.49 | 2.39 | 2.39 | 2.00 | 2.00 | 30.00 | 33.00 |
410 | RE n-char long-middle catching | 7.23 | 7.24 | 5.74 | 8.00 | 7.00 | 34.00 | 37.00 |
411 | RE n-char long-start | 1.12 | 0.94 | 1.00 | 1.00 | 1.00 | 1.00 | 2.00 |
412 | RE n-char long-start catching | 5.92 | 5.68 | 4.43 | 6.00 | 6.00 | 4.00 | 6.00 |
413 | RE n-char short | 1.13 | 0.94 | 0.98 | 1.00 | 1.00 | 1.00 | 2.00 |
414 | RE n-char short catching | 5.72 | 5.47 | 4.17 | 6.00 | 6.00 | 4.00 | 5.00 |
415 | RE static anchored match | 0.69 | 0.53 | 0.25 | 1.00 | 1.00 | 0.00 | 1.00 |
416 | RE static anchored match dot | 0.74 | 0.56 | 1.30 | 1.00 | 1.00 | 0.00 | 1.00 |
417 | RE static anchored nomatch | 0.73 | 0.56 | 0.26 | 1.00 | 1.00 | 0.00 | 1.00 |
418 | RE static anchored nomatch dot | 0.73 | 0.54 | 0.59 | 1.00 | 1.00 | 0.00 | 1.00 |
419 | RE static l-anchored match | 0.70 | 0.56 | 0.28 | 1.00 | 1.00 | 0.00 | 1.00 |
420 | RE static l-anchored nomatch | 0.70 | 0.54 | 0.26 | 1.00 | 0.00 | 0.00 | 1.00 |
421 | RE static long match | 1.19 | 1.02 | 0.93 | 3.00 | 3.00 | 2.00 | 3.00 |
422 | RE static long nomatch | 1.51 | 1.33 | 1.25 | 4.00 | 4.00 | 2.00 | 3.00 |
423 | RE static r-anchored match | 0.74 | 0.57 | 0.28 | 1.00 | 1.00 | 0.00 | 1.00 |
424 | RE static r-anchored nomatch | 0.77 | 0.58 | 0.29 | 1.00 | 1.00 | 0.00 | 1.00 |
425 | RE static short match | 0.75 | 0.57 | 0.30 | 1.00 | 1.00 | 0.00 | 1.00 |
426 | RE static short nomatch | 0.74 | 0.56 | 0.27 | 1.00 | 1.00 | 0.00 | 1.00 |
427 | RE var ***= directive match | 0.92 | 0.93 | 1.74 | 2.00 | 2.00 | -=- | -=- |
428 | RE var ***= directive nomatch | 0.95 | 0.93 | 1.80 | 2.00 | 2.00 | -=- | -=- |
429 | RE var . match | 0.77 | 0.58 | 0.88 | 1.00 | 1.00 | 1.00 | 2.00 |
430 | RE var [0-9] match | 1.63 | 1.45 | 1.53 | 1.00 | 1.00 | 3.00 | 4.00 |
431 | RE var \d match | 1.62 | 1.46 | 1.52 | 1.00 | 1.00 | 3.00 | 4.00 |
432 | RE var ^$ nomatch | 0.75 | 0.55 | 0.73 | 1.00 | 1.00 | 1.00 | 2.00 |
433 | RE var backtrack case | 18.54 | 18.96 | 1.64 | 2.00 | 2.00 | 27.00 | 28.00 |
434 | RE var-based regexp | 1.85 | 1.69 | 1.90 | 2.00 | 2.00 | 1.00 | 2.00 |
435 | READ 595K, cat | 20904.26 | 18641.75 | 14524.69 | 25678.00 | 21733.00 | 9743.00 | 14243.00 |
436 | READ 595K, gets | 15169.92 | 13615.97 | 9103.00 | 19959.00 | 16059.00 | 8289.00 | 13018.00 |
437 | READ 595K, glob-grep match | 21000.80 | 20769.60 | 14692.94 | 23565.00 | 21866.00 | 14365.00 | 20098.00 |
438 | READ 595K, glob-grep nomatch | 20654.72 | 20326.05 | 14980.43 | 29056.00 | 27444.00 | 15739.00 | 20537.00 |
439 | READ 595K, read | 2315.43 | 2359.05 | 2185.92 | 4334.00 | 4325.00 | 33206.00 | 33052.00 |
440 | READ 595K, read & size | 2351.63 | 2371.81 | 2157.98 | 4344.00 | 4326.00 | 1598.00 | 33099.00 |
441 | READ 595K, read dyn buf | 2360.37 | 2417.77 | 2187.90 | 4335.00 | 8.3+ | 8.3+ | 8.3+ |
442 | READ 595K, read small buf | 68991.01 | 67495.59 | 67690.77 | 68372.00 | 8.3+ | 8.3+ | 8.3+ |
443 | READ 3050b, cat | 143.26 | 131.97 | 107.58 | 160.00 | 141.00 | 77.00 | 102.00 |
444 | READ 3050b, gets | 91.93 | 85.96 | 59.56 | 115.00 | 96.00 | 56.00 | 84.00 |
445 | READ 3050b, glob-grep match | 129.36 | 116.68 | 89.55 | 135.00 | 125.00 | 86.00 | 120.00 |
446 | READ 3050b, glob-grep nomatch | 121.48 | 114.05 | 90.96 | 161.00 | 154.00 | 97.00 | 120.00 |
447 | READ 3050b, read | 27.14 | 28.38 | 25.07 | 37.00 | 36.00 | 22.00 | 26.00 |
448 | READ 3050b, read & size | 32.05 | 32.10 | 26.95 | 41.00 | 40.00 | 25.00 | 30.00 |
449 | READ 3050b, read dyn buf | 34.56 | 34.13 | 29.99 | 41.00 | 8.3+ | 8.3+ | 8.3+ |
450 | READ 3050b, read small buf | 375.04 | 369.89 | 367.48 | 380.00 | 8.3+ | 8.3+ | 8.3+ |
451 | READ bin 595K, cat | 15273.76 | 13374.69 | 20259.57 | 25297.00 | 22475.00 | 9826.00 | 14150.00 |
452 | READ bin 595K, gets | 11298.54 | 9915.30 | 9741.57 | 17818.00 | 14955.00 | 8426.00 | 13117.00 |
453 | READ bin 595K, glob-grep match | 12625.36 | 10955.51 | 14791.80 | 21714.00 | 20816.00 | 13904.00 | 19959.00 |
454 | READ bin 595K, glob-grep nomatch | 12265.83 | 11361.32 | 15267.63 | 26735.00 | 25999.00 | 16202.00 | 20653.00 |
455 | READ bin 595K, read | 571.26 | 596.35 | 469.99 | 481.00 | 459.00 | 33329.00 | 33375.00 |
456 | READ bin 595K, read & size | 580.47 | 592.00 | 471.06 | 486.00 | 463.00 | 1590.00 | 33225.00 |
457 | READ bin 595K, read dyn buf | 595.12 | 607.51 | 488.23 | 478.00 | 8.3+ | 8.3+ | 8.3+ |
458 | READ bin 595K, read small buf | 64879.66 | 63423.03 | 65661.91 | 63503.00 | 8.3+ | 8.3+ | 8.3+ |
459 | READ bin 3050b, cat | 112.38 | 105.51 | 135.46 | 162.00 | 149.00 | 79.00 | 101.00 |
460 | READ bin 3050b, gets | 76.56 | 70.48 | 66.93 | 109.00 | 93.00 | 59.00 | 84.00 |
461 | READ bin 3050b, glob-grep match | 129.39 | 118.90 | 96.12 | 130.00 | 125.00 | 86.00 | 119.00 |
462 | READ bin 3050b, glob-grep nomatch | 132.83 | 115.71 | 95.82 | 152.00 | 151.00 | 95.00 | 121.00 |
463 | READ bin 3050b, read | 24.39 | 23.36 | 20.46 | 20.00 | 20.00 | 24.00 | 26.00 |
464 | READ bin 3050b, read & size | 29.51 | 28.26 | 22.77 | 25.00 | 23.00 | 28.00 | 30.00 |
465 | READ bin 3050b, read dyn buf | 31.58 | 29.71 | 24.35 | 24.00 | 8.3+ | 8.3+ | 8.3+ |
466 | READ bin 3050b, read small buf | 358.48 | 356.68 | 358.71 | 354.00 | 8.3+ | 8.3+ | 8.3+ |
467 | SHA (A) msg len 10 | 180.10 | 164.03 | 166.54 | 215.00 | 219.00 | -=- | -=- |
468 | SHA (A) msg len 100 | 305.18 | 267.49 | 294.03 | 384.00 | 384.00 | -=- | -=- |
469 | SHA (A) msg len 1000 | 2124.06 | 1855.44 | 2100.19 | 2809.00 | 2796.00 | -=- | -=- |
470 | SHA (A) msg len 10000 | 20486.32 | 17861.36 | 19982.60 | 26997.00 | 27075.00 | -=- | -=- |
471 | SHA (B) msg len 10 | -=- | -=- | 154.18 | 201.00 | 200.00 | -=- | -=- |
472 | SHA (B) msg len 100 | -=- | -=- | 271.95 | 361.00 | 359.00 | -=- | -=- |
473 | SHA (B) msg len 1000 | -=- | -=- | 1909.82 | 2621.00 | 2594.00 | -=- | -=- |
474 | SHA (B) msg len 10000 | -=- | -=- | 18429.00 | 25162.00 | 25124.00 | -=- | -=- |
475 | SPLIT iter, 4000 uchars | 493.77 | 451.80 | 346.71 | 448.00 | 916.00 | 902.00 | 1064.00 |
476 | SPLIT iter, 4010 chars | 479.46 | 436.72 | 329.82 | 430.00 | 901.00 | 903.00 | 1038.00 |
477 | SPLIT iter, rand 100 c | 43.53 | 43.23 | 39.07 | 38.00 | 26.00 | 25.00 | -=- |
478 | SPLIT iter, rand 1000 c | 206.07 | 197.54 | 175.31 | 191.00 | 236.00 | 226.00 | -=- |
479 | SPLIT iter, rand 10000 c | 1252.88 | 1159.82 | 996.50 | 1200.00 | 2321.00 | 2241.00 | -=- |
480 | SPLIT on 'c', 4000 uchars | 36.07 | 35.82 | 30.87 | 60.00 | 59.00 | 34.00 | 87.00 |
481 | SPLIT on 'c', 4010 chars | 35.33 | 35.02 | 30.04 | 56.00 | 56.00 | 34.00 | 75.00 |
482 | SPLIT on 'cz', 4000 uchars | 81.74 | 86.17 | 74.49 | 96.00 | 94.00 | 62.00 | 119.00 |
483 | SPLIT on 'cz', 4010 chars | 75.30 | 78.05 | 69.31 | 92.00 | 91.00 | 61.00 | 109.00 |
484 | SPLIT on 'cû', 4000 uchars | 89.71 | 91.63 | 81.08 | 96.00 | 95.00 | 61.00 | 120.00 |
485 | SPLIT on 'cû', 4010 chars | 57.45 | 58.82 | 52.87 | 67.00 | 65.00 | 37.00 | 77.00 |
486 | SPLIT, 4000 uchars | 158.45 | 148.25 | 125.04 | 112.00 | 569.00 | 537.00 | 107.00 |
487 | SPLIT, 4010 chars | 145.78 | 136.58 | 110.36 | 96.00 | 561.00 | 549.00 | 97.00 |
488 | SPLIT, rand 100 c | 33.71 | 33.61 | 30.83 | 28.00 | 17.00 | 16.00 | -=- |
489 | SPLIT, rand 1000 c | 120.82 | 119.90 | 114.38 | 103.00 | 150.00 | 137.00 | -=- |
490 | SPLIT, rand 10000 c | 431.48 | 414.89 | 398.83 | 355.00 | 1468.00 | 1334.00 | -=- |
491 | STR append | 2.33 | 2.23 | 1.70 | 2.00 | 2.00 | 2.00 | 8.00 |
492 | STR append (1KB + 1KB) | 1.74 | 1.54 | 1.22 | 2.00 | 2.00 | 2.00 | 7.00 |
493 | STR append (1MB + (1b+1K+1b)*100) | 331.03 | 346.04 | 306.17 | 234.00 | 234.00 | 229.00 | 1936.00 |
494 | STR append (1MB + 1KB) | 835.42 | 850.52 | 844.38 | 178.00 | 180.00 | 178.00 | 1753.00 |
495 | STR append (1MB + 1KB*20) | 881.36 | 877.50 | 864.78 | 184.00 | 185.00 | 184.00 | 1778.00 |
496 | STR append (1MB + 1KB*1000) | 1748.59 | 1778.67 | 1741.14 | 571.00 | 577.00 | 572.00 | 3270.00 |
497 | STR append (1MB + 1MB*3) | 2312.80 | 2345.00 | 2227.72 | 2080.00 | 2085.00 | 2079.00 | 7168.00 |
498 | STR append (1MB + 1MB*5) | 3953.81 | 4142.18 | 3970.56 | 4941.00 | 5078.00 | 5212.00 | 10340.00 |
499 | STR append (1MB + 2b*1000) | 174.81 | 195.06 | 188.12 | 453.00 | 459.00 | 444.00 | 2289.00 |
500 | STR append (10KB + 1KB) | 2.02 | 1.85 | 2.08 | 3.00 | 3.00 | 3.00 | 12.00 |
501 | STR first (failure) | 5.91 | 4.14 | 4.45 | 6.00 | 6.00 | 6.00 | 7.00 |
502 | STR first (failure) utf | 5.88 | 4.09 | 4.43 | 13.00 | 13.00 | 6.00 | 7.00 |
503 | STR first (success) | 1.91 | 1.34 | 0.54 | 1.00 | 1.00 | 0.00 | 3.00 |
504 | STR first (success) utf | 1.87 | 1.35 | 0.53 | 1.00 | 1.00 | 0.00 | 3.00 |
505 | STR first (total failure) | 4.31 | 3.75 | 2.95 | 4.00 | 4.00 | 4.00 | 7.00 |
506 | STR first (total failure) utf | 4.31 | 3.73 | 2.92 | 5.00 | 5.00 | 4.00 | 7.00 |
507 | STR index 0 | 0.87 | 0.65 | 0.58 | 1.00 | 1.00 | 1.00 | 3.00 |
508 | STR index 100 | 0.87 | 0.65 | 0.58 | 1.00 | 1.00 | 1.00 | 3.00 |
509 | STR index 500 | 0.88 | 0.63 | 0.59 | 1.00 | 1.00 | 1.00 | 3.00 |
510 | STR info locals match | 23.73 | 22.98 | 28.18 | 36.00 | 37.00 | 35.00 | 215.00 |
511 | STR last (failure) | 4.92 | 4.35 | 4.63 | 4.00 | 4.00 | 3.00 | 7.00 |
512 | STR last (success) | 1.94 | 1.42 | 0.52 | 11.00 | 11.00 | 0.00 | 7.00 |
513 | STR last (total failure) | 4.41 | 3.80 | 2.94 | 3.00 | 3.00 | 3.00 | 6.00 |
514 | STR length (==4010) | 0.59 | 0.41 | 0.37 | 0.00 | 0.00 | 0.00 | 3.00 |
515 | STR length growing (1000) | 96.80 | 71.48 | 70.16 | 217.00 | 224.00 | 231.00 | 684.00 |
516 | STR length growing uc (1000) | 97.94 | 72.32 | 71.35 | 218.00 | 224.00 | 218.00 | 698.00 |
517 | STR length of a LIST | 0.58 | 0.44 | 0.34 | 0.00 | 0.00 | 0.00 | 3.00 |
518 | STR length static str | 0.69 | 0.58 | 0.26 | 1.00 | 1.00 | 1.00 | 2.00 |
519 | STR match, complex (failure) | 4.82 | 5.67 | 5.34 | 47.00 | 48.00 | 20.00 | 23.00 |
520 | STR match, complex (success early) | 1.04 | 0.76 | 0.43 | 1.00 | 1.00 | 1.00 | 3.00 |
521 | STR match, complex (success late) | 7.37 | 6.71 | 6.35 | 51.00 | 51.00 | 23.00 | 25.00 |
522 | STR match, complex (total failure) | 3.49 | 3.15 | 2.84 | 47.00 | 47.00 | 20.00 | 23.00 |
523 | STR match, exact (failure) | 0.69 | 0.54 | 0.26 | 0.00 | 0.00 | 0.00 | 1.00 |
524 | STR match, exact (success) | 0.69 | 0.54 | 0.25 | 0.00 | 0.00 | 0.00 | 1.00 |
525 | STR match, exact -nocase (failure) | 0.70 | 0.55 | 0.27 | 0.00 | 0.00 | 1.00 | 1.00 |
526 | STR match, exact -nocase (success) | 0.82 | 0.67 | 0.41 | 1.00 | 1.00 | 1.00 | 1.00 |
527 | STR match, recurse (fail backtrack) | 34.80 | 34.00 | 32.73 | 239.00 | 242.00 | 153.00 | 298.00 |
528 | STR match, recurse (fail bt1) | 34.85 | 34.58 | 33.09 | 240.00 | 243.00 | 156.00 | 294.00 |
529 | STR match, recurse (fail bt2) | 35.01 | 34.44 | 32.94 | 239.00 | 244.00 | 157.00 | 295.00 |
530 | STR match, recurse (fail ranchor) | 4494.14 | 4495.83 | 4492.56 | 82380.00 | 82526.00 | 34663.00 | 34736.00 |
531 | STR match, recurse (success bt2) | 7.12 | 6.37 | 5.14 | 5.00 | 9.00 | 56.00 | 195.00 |
532 | STR match, recurse2 (fail) | 6929.37 | 8701.24 | 8704.15 | 82209.00 | 82138.00 | 34601.00 | 34548.00 |
533 | STR match, recurse2 (success) | 4.84 | 5.72 | 5.37 | 47.00 | 47.00 | 20.00 | 23.00 |
534 | STR match, simple (failure) | 1.06 | 0.92 | 0.28 | 0.00 | 0.00 | 0.00 | 1.00 |
535 | STR match, simple (success) | 0.92 | 0.69 | 0.29 | 0.00 | 0.00 | 0.00 | 1.00 |
536 | STR range, index 100..200 of 4010 | 2.31 | 2.03 | 0.85 | 1.00 | 1.00 | 1.00 | 4.00 |
537 | STR repeat, 4010 chars * 10 | 3.48 | 2.90 | 2.13 | 2.00 | 4.00 | 7.00 | 31.00 |
538 | STR repeat, 4010 chars * 100 | 27.08 | 25.57 | 23.56 | 23.00 | 62.00 | 87.00 | 274.00 |
539 | STR repeat, abcdefghij * 10 | 2.18 | 1.71 | 0.55 | 0.00 | 1.00 | 4.00 | 14.00 |
540 | STR repeat, abcdefghij * 100 | 2.68 | 2.28 | 1.37 | 1.00 | 3.00 | 28.00 | 103.00 |
541 | STR repeat, abcdefghij * 1000 | 8.13 | 7.99 | 8.94 | 8.00 | 20.00 | 266.00 | 1000.00 |
542 | STR replace, equal replacement | 3.63 | 3.15 | 1.50 | 12.00 | 13.00 | 1.00 | 8.00 |
543 | STR replace, longer replacement | 3.64 | 3.17 | 1.64 | 12.00 | 12.00 | 1.00 | 8.00 |
544 | STR replace, no replacement | 3.05 | 2.52 | 1.17 | 12.00 | 13.00 | 1.00 | 8.00 |
545 | STR reverse core, 10 c | 2.09 | 1.38 | 8.5+ | 8.5+ | 8.5+ | 8.5+ | 8.5+ |
546 | STR reverse core, 10 uc | 2.05 | 1.55 | 8.5+ | 8.5+ | 8.5+ | 8.5+ | 8.5+ |
547 | STR reverse core, 100 c | 2.23 | 1.52 | 8.5+ | 8.5+ | 8.5+ | 8.5+ | 8.5+ |
548 | STR reverse core, 100 uc | 2.21 | 1.64 | 8.5+ | 8.5+ | 8.5+ | 8.5+ | 8.5+ |
549 | STR reverse core, 400 c | 2.29 | 1.74 | 8.5+ | 8.5+ | 8.5+ | 8.5+ | 8.5+ |
550 | STR reverse core, 400 uc | 2.38 | 1.88 | 8.5+ | 8.5+ | 8.5+ | 8.5+ | 8.5+ |
551 | STR reverse iter/append, 10 c | 3.29 | 3.02 | 3.09 | 6.00 | 6.00 | 6.00 | 13.00 |
552 | STR reverse iter/append, 10 uc | 3.30 | 3.06 | 3.07 | 6.00 | 6.00 | 6.00 | 13.00 |
553 | STR reverse iter/append, 100 c | 20.88 | 19.25 | 18.32 | 50.00 | 47.00 | 46.00 | 103.00 |
554 | STR reverse iter/append, 100 uc | 21.48 | 20.36 | 19.47 | 49.00 | 48.00 | 46.00 | 103.00 |
555 | STR reverse iter/append, 400 c | 76.20 | 74.69 | 66.83 | 185.00 | 182.00 | 177.00 | 520.00 |
556 | STR reverse iter/append, 400 uc | 77.89 | 79.44 | 71.20 | 186.00 | 183.00 | 176.00 | 518.00 |
557 | STR reverse iter/set, 10 c | 4.80 | 4.50 | 4.14 | 6.00 | 6.00 | 6.00 | 14.00 |
558 | STR reverse iter/set, 10 uc | 4.80 | 4.54 | 4.22 | 5.00 | 5.00 | 6.00 | 14.00 |
559 | STR reverse iter/set, 100 c | 39.48 | 39.13 | 35.98 | 49.00 | 49.00 | 46.00 | 113.00 |
560 | STR reverse iter/set, 100 uc | 40.21 | 39.59 | 37.72 | 50.00 | 49.00 | 46.00 | 113.00 |
561 | STR reverse iter/set, 400 c | 153.22 | 147.53 | 145.30 | 198.00 | 187.00 | 181.00 | 602.00 |
562 | STR reverse iter/set, 400 uc | 153.13 | 152.02 | 152.94 | 200.00 | 192.00 | 179.00 | 605.00 |
563 | STR reverse recursive, 10 c | 25.49 | 22.25 | 11.43 | 14.00 | 13.00 | 11.00 | 27.00 |
564 | STR reverse recursive, 10 uc | 24.07 | 21.44 | 10.32 | 14.00 | 13.00 | 11.00 | 27.00 |
565 | STR reverse recursive, 100 c | 227.99 | 208.85 | 108.15 | 128.00 | 125.00 | 109.00 | 242.00 |
566 | STR reverse recursive, 100 uc | 226.71 | 196.94 | 102.41 | 167.00 | 164.00 | 109.00 | 240.00 |
567 | STR reverse recursive, 400 c | 966.28 | 820.65 | 444.31 | 518.00 | 512.00 | 462.00 | 8.0+ |
568 | STR reverse recursive, 400 uc | 956.48 | 768.82 | 407.92 | 1059.00 | 1056.00 | 470.00 | 8.0+ |
569 | STR str $a eq $b | 0.93 | 0.73 | 0.60 | 1.00 | 1.00 | 1.00 | 4.00 |
570 | STR str $a eq $b (same obj) | 0.98 | 0.73 | 0.65 | 1.00 | 1.00 | 1.00 | 4.00 |
571 | STR str $a equal "" | 0.95 | 0.72 | 0.39 | 1.00 | 1.00 | 1.00 | 5.00 |
572 | STR str $a ne $b | 0.97 | 0.75 | 0.65 | 1.00 | 1.00 | 2.00 | 4.00 |
573 | STR str $a ne $b (same obj) | 0.86 | 0.74 | 0.59 | 1.00 | 1.00 | 1.00 | 4.00 |
574 | STR str num == "" | 0.95 | 0.76 | 0.42 | 1.00 | 1.00 | 1.00 | 5.00 |
575 | STR strcmp bin long eq | 9.11 | 7.38 | 5.22 | 100.00 | 100.00 | -=- | -=- |
576 | STR strcmp bin long neq | 9.64 | 8.38 | 5.27 | 100.00 | 100.00 | -=- | -=- |
577 | STR strcmp bin long neqS | 6.53 | 5.01 | 2.08 | 94.00 | 94.00 | -=- | -=- |
578 | STR strcmp bin short eq | 5.26 | 3.90 | 1.48 | 3.00 | 3.00 | -=- | -=- |
579 | STR streq bin long eq | 9.47 | 118.13 | 113.23 | 104.00 | 101.00 | -=- | -=- |
580 | STR streq bin long neq | 9.88 | 118.47 | 113.24 | 100.00 | 101.00 | -=- | -=- |
581 | STR streq bin long neqS | 6.69 | 111.56 | 107.17 | 94.00 | 94.00 | -=- | -=- |
582 | STR streq bin short eq | 5.49 | 5.52 | 3.02 | 3.00 | 3.00 | -=- | -=- |
583 | STR string compare | 0.86 | 0.67 | 0.61 | 1.00 | 1.00 | 1.00 | 2.00 |
584 | STR string compare "" | 1.01 | 0.83 | 0.56 | 1.00 | 1.00 | 1.00 | 3.00 |
585 | STR string compare long | 2.29 | 2.07 | 2.12 | 3.00 | 3.00 | 3.00 | 11.00 |
586 | STR string compare long (same obj) | 0.78 | 0.62 | 0.58 | 2.00 | 2.00 | 2.00 | 11.00 |
587 | STR string compare mixed long | 15.76 | 15.53 | 15.47 | 3.00 | 3.00 | 2.00 | 10.00 |
588 | STR string compare uni long | 15.48 | 15.25 | 15.21 | 3.00 | 2.00 | 2.00 | 10.00 |
589 | STR string equal "" | 1.02 | 0.76 | 0.48 | 1.00 | 1.00 | 1.00 | 4.00 |
590 | STR string equal long (!= len) | 1.32 | 0.98 | 0.93 | 3.00 | 3.00 | 3.00 | 14.00 |
591 | STR string equal long (== len) | 2.49 | 2.45 | 2.41 | 3.00 | 3.00 | 3.00 | 14.00 |
592 | STR string equal long (same obj) | 0.97 | 0.74 | 0.67 | 3.00 | 3.00 | 3.00 | 14.00 |
593 | STR string equal mixed long | 1.00 | 0.77 | 0.65 | 3.00 | 3.00 | 3.00 | 14.00 |
594 | STR string equal uni long | 3.78 | 2.67 | 2.60 | 3.00 | 3.00 | 3.00 | 14.00 |
595 | STR/LIST length, obj shimmer | 189.69 | 194.51 | 173.92 | 171.00 | 172.00 | 1.00 | 38.00 |
596 | SWITCH 1st true | 0.86 | 0.70 | 1.39 | 1.00 | 1.00 | 1.00 | 5.00 |
597 | SWITCH 2nd true | 0.89 | 0.71 | 1.48 | 1.00 | 1.00 | 1.00 | 5.00 |
598 | SWITCH 9th true | 0.86 | 0.70 | 1.63 | 1.00 | 1.00 | 2.00 | 5.00 |
599 | SWITCH default true | 0.82 | 0.67 | 1.59 | 1.00 | 1.00 | 2.00 | 5.00 |
600 | TRACE all set (rwu) | 1.34 | 2.07 | 1.31 | 1.00 | 1.00 | 1.00 | 3.00 |
601 | TRACE no trace set | 1.44 | 2.26 | 1.35 | 1.00 | 1.00 | 1.00 | 3.00 |
602 | TRACE read | 1.33 | 2.20 | 1.31 | 1.00 | 1.00 | 1.00 | 3.00 |
603 | TRACE unset | 1.36 | 2.16 | 1.21 | 1.00 | 1.00 | 1.00 | 3.00 |
604 | TRACE write | 1.33 | 2.00 | 1.22 | 1.00 | 1.00 | 1.00 | 3.00 |
605 | UNSET catch var !exist | 8.74 | 7.93 | 2.91 | 2.00 | 3.00 | 2.00 | 2.00 |
606 | UNSET catch var exists | 0.75 | 1.01 | 0.50 | 0.00 | 0.00 | 0.00 | 1.00 |
607 | UNSET info check var !exist | 0.77 | 0.62 | 0.43 | 0.00 | 0.00 | 0.00 | 1.00 |
608 | UNSET info check var exists | 0.77 | 1.05 | 0.59 | 1.00 | 1.00 | 1.00 | 1.00 |
609 | UNSET nocomplain var !exist | 0.72 | 1.33 | 0.41 | 2.00 | 2.00 | 2.00 | 2.00 |
610 | UNSET nocomplain var exists | 0.69 | 1.42 | 0.40 | 0.00 | 0.00 | 0.00 | 1.00 |
611 | UNSET var exists | 0.71 | 1.08 | 0.38 | 0.00 | 0.00 | 0.00 | 1.00 |
612 | UPLEVEL none | 134.43 | 135.07 | 91.87 | 162.00 | 170.00 | 174.00 | -=- |
613 | UPLEVEL primed | 795.89 | 829.63 | 3421.04 | 3221.00 | 502.00 | 522.00 | -=- |
614 | UPLEVEL to nseval | 1173.81 | 926.04 | 3536.34 | 2846.00 | 523.00 | 567.00 | -=- |
615 | UPLEVEL to proc | 1071.39 | 939.29 | 3515.82 | 3162.00 | 525.00 | 500.00 | -=- |
616 | VAR 'array set' of 100 elems | 7.64 | 6.81 | 6.68 | 11.00 | 11.00 | 10.00 | 22.00 |
617 | VAR 100 'set's in array | 5.55 | 4.98 | 4.85 | 5.00 | 5.00 | 6.00 | 18.00 |
618 | VAR access global | 1.06 | 0.86 | 0.65 | 1.00 | 1.00 | 1.00 | 3.00 |
619 | VAR access local proc arg | 0.83 | 0.66 | 0.34 | 0.00 | 0.00 | 0.00 | 3.00 |
620 | VAR access locally set | 0.86 | 0.68 | 0.36 | 0.00 | 0.00 | 0.00 | 3.00 |
621 | VAR access upvar | 1.09 | 0.87 | 0.63 | 1.00 | 1.00 | 1.00 | 3.00 |
622 | VAR incr global var 1000x | 113.05 | 110.03 | 79.51 | 172.00 | 170.00 | 184.00 | 1121.00 |
623 | VAR incr local var 1000x | 110.63 | 110.88 | 79.81 | 171.00 | 168.00 | 185.00 | 1123.00 |
624 | VAR incr upvar var 1000x | 111.22 | 105.77 | 79.26 | 175.00 | 170.00 | 184.00 | 1121.00 |
625 | VAR mset | 0.59 | 0.53 | 0.74 | 1.00 | 1.00 | 1.00 | 7.00 |
626 | VAR mset (foreach) | 0.66 | 0.52 | 0.47 | 0.00 | 0.00 | 0.00 | 5.00 |
627 | VAR ref absolute | 34.47 | 31.17 | 18.61 | 25.00 | 25.00 | 23.00 | 8.0+ |
628 | VAR ref local | 2.89 | 2.46 | 2.92 | 6.00 | 5.00 | 6.00 | 8.0+ |
629 | VAR ref variable | 3.18 | 2.63 | 3.29 | 12.00 | 13.00 | 11.00 | 8.0+ |
630 | VAR set array element | 0.97 | 0.77 | 0.53 | 0.00 | 0.00 | 0.00 | 1.00 |
631 | VAR set scalar | 0.70 | 0.57 | 0.32 | 0.00 | 0.00 | 0.00 | 1.00 |
632 | WORDCOUNT wc1 | 269.02 | 258.85 | 219.57 | 237.00 | 227.00 | 116.00 | 144.00 |
633 | WORDCOUNT wc2 | 82.55 | 80.03 | 73.35 | 122.00 | 128.00 | 77.00 | 87.00 |
634 | WORDCOUNT wc3 | 74.57 | 72.69 | 63.37 | 112.00 | 116.00 | 69.00 | 64.00 |
634 | BENCHMARKS: | 8.6b1.2 | 8.5.9 | 8.4.19 | 8.3.5 | 8.2.3 | 8.0.5 | 7.6p2 |
FINISHED 2010-09-27 19:59:24
JH: The numbers below by Kevin are for a previous set of numbers, and need updating (note only 8.4a3 is mentioned). The only thing likely to change though is to show that 8.4 is pulling ahead in performance.
Kevin Kenny: For those that insist on a single figure of merit, I took these numbers, normalized them to a scale of 8.4a3 == 1.0, and then took the harmonic mean of all benchmarks.
Version | Relative Speed | Comments |
---|---|---|
7.6p2 | 0.125 | The last version without bytecode compilation |
8.0.5 | 0.736 | Bytecode compilation initially sped things up by a factor of about 6. |
8.2.3 | 0.600 | The cost of internationalization was that things got about 20% slower. |
8.3.1 | 0.606 | Not much change here... |
8.4a3 | 1.000 | The reference against which the others were measured. Many more operations are bytecoded, which gains about 50% in speed. |
8.5.? | ????? | Much more bytecoding, but many operations slowed down to support new features (especially clock and arbitrary-width integers). |
As with all benchmarks, take these numbers with a spoonful of salt!