JH: These are normalized benchmarks that use the latest version as the base. These numbers correspond to the ones in Tcl Extended Benchmarks. You can see a concise list of the latest versions of each minor Tcl version at Tcl Benchmarks and Tcl Normalized 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.5a2 2:8.5a1 3:8.4.6 4:8.4.5 5:8.4.4 6:8.4.3 7:8.4.2 8:8.4.1 9:8.4.0 10:8.3.5 11:8.3.4 12:8.3.3 13:8.3.2 14:8.3.1 15:8.3.0 16:8.2.3 17:8.2.2 18:8.2.1 19:8.2.0 20:8.0.5 21:7.6p2 STARTED 2004-04-01 16:53:18 (runbench.tcl v1.15) Benchmark 1:8.5a2 /home/jeffh/install/linux-ix86/bin/tclsh8.5.20040401 abbccdeeeffghkllmmmmpprrssstuvw 00:07:03 elapsed Benchmark 2:8.5a1 /home/jeffh/install/linux-ix86/bin/tclsh8.5a1 abbccdeeeffghkllmmmmpprrssstuvw 00:06:50 elapsed Benchmark 3:8.4.6 /home/jeffh/install/linux-ix86/bin/tclsh8.4.6 abbccdeeeffghkllmmmmpprrssstuvw 00:06:37 elapsed Benchmark 4:8.4.5 /home/jeffh/install/linux-ix86/bin/tclsh8.4.5 abbccdeeeffghkllmmmmpprrssstuvw 00:06:38 elapsed Benchmark 5:8.4.4 /home/jeffh/install/linux-ix86/bin/tclsh8.4.4 abbccdeeeffghkllmmmmpprrssstuvw 00:06:35 elapsed Benchmark 6:8.4.3 /home/jeffh/install/linux-ix86/bin/tclsh8.4.3 abbccdeeeffghkllmmmmpprrssstuvw 00:06:31 elapsed Benchmark 7:8.4.2 /home/jeffh/install/linux-ix86/bin/tclsh8.4.2 abbccdeeeffghkllmmmmpprrssstuvw 00:06:38 elapsed Benchmark 8:8.4.1 /home/jeffh/install/linux-ix86/bin/tclsh8.4.1 abbccdeeeffghkllmmmmpprrssstuvw 00:06:50 elapsed Benchmark 9:8.4.0 /home/jeffh/install/linux-ix86/bin/tclsh8.4.0 abbccdeeeffghkllmmmmpprrssstuvw 00:06:49 elapsed Benchmark 10:8.3.5 /home/jeffh/install/linux-ix86/bin/tclsh8.3.5 abbccdeeeffghkllmmmmpprrssstuvw 00:11:05 elapsed Benchmark 11:8.3.4 /home/jeffh/install/linux-ix86/bin/tclsh8.3.4 abbccdeeeffghkllmmmmpprrssstuvw 00:11:01 elapsed Benchmark 12:8.3.3 /home/jeffh/install/linux-ix86/bin/tclsh8.3.3 abbccdeeeffghkllmmmmpprrssstuvw 00:10:44 elapsed Benchmark 13:8.3.2 /home/jeffh/install/linux-ix86/bin/tclsh8.3.2 abbccdeeeffghkllmmmmpprrssstuvw 00:11:00 elapsed Benchmark 14:8.3.1 /home/jeffh/install/linux-ix86/bin/tclsh8.3.1 abbccdeeeffghkllmmmmpprrssstuvw 00:10:53 elapsed Benchmark 15:8.3.0 /home/jeffh/install/linux-ix86/bin/tclsh8.3.0 abbccdeeeffghkllmmmmpprrssstuvw 00:10:52 elapsed Benchmark 16:8.2.3 /home/jeffh/install/linux-ix86/bin/tclsh8.2.3 abbccdeeeffghkllmmmmpprrssstuvw 00:10:59 elapsed Benchmark 17:8.2.2 /home/jeffh/install/linux-ix86/bin/tclsh8.2.2 abbccdeeeffghkllmmmmpprrssstuvw 00:11:01 elapsed Benchmark 18:8.2.1 /home/jeffh/install/linux-ix86/bin/tclsh8.2.1 abbccdeeeffghkllmmmmpprrssstuvw 00:11:04 elapsed Benchmark 19:8.2.0 /home/jeffh/install/linux-ix86/bin/tclsh8.2.0 abbccdeeeffghkllmmmmpprrssstuvw 00:11:00 elapsed Benchmark 20:8.0.5 /home/jeffh/install/linux-ix86/bin/tclsh8.0.5 abbccdeeeffghkllmmmmpprrssstuvw 00:07:47 elapsed Benchmark 21:7.6p2 /home/jeffh/install/linux-ix86/bin/tclsh7.6 abbccdeeeffghkllmmmmpprrssstuvw 00:22:17 elapsed 000 VERSIONS: 1:8.5a2 2:8.5a1 3:8.4.6 4:8.4.5 5:8.4.4 6:8.4.3 7:8.4.2 8:8.4.1 9:8.4.0 10:8.3.5 11:8.3.4 12:8.3.3 13:8.3.2 14:8.3.1 15:8.3.0 16:8.2.3 17:8.2.2 18:8.2.1 19:8.2.0 20:8.0.5 21:7.6p2 001 ARRAY genKeys 50 1.00 0.97 0.89 0.87 0.88 0.85 0.84 0.90 0.84 1.16 1.13 1.09 1.00 1.04 1.05 1.07 1.05 1.06 1.02 0.82 1.63 002 ARRAY genKeys 500 1.00 0.97 0.90 0.86 0.89 0.86 0.85 0.90 0.85 1.14 1.14 1.06 0.99 1.04 1.05 1.07 1.04 1.05 1.02 0.81 1.59 003 ARRAY makeHash 500 50 1.00 1.06 0.97 0.97 1.07 1.03 1.09 1.13 1.02 1.07 1.08 1.02 1.01 1.05 1.05 1.31 1.30 1.30 1.28 1.14 1.50 004 BASE64 decode 10 1.00 0.94 0.90 0.90 0.90 0.87 0.90 0.88 0.88 0.97 0.99 0.94 0.92 0.91 0.90 0.91 0.92 0.92 0.88 0.88 -=- 005 BASE64 decode 100 1.00 0.94 0.88 0.88 0.89 0.86 0.90 0.89 0.87 0.97 0.98 0.93 0.95 0.93 0.92 0.93 0.93 0.95 0.91 0.91 -=- 006 BASE64 decode 1000 1.00 0.94 0.88 0.88 0.88 0.85 0.90 0.88 0.87 0.97 0.98 0.93 0.95 0.94 0.93 0.94 0.94 0.96 0.92 0.91 -=- 007 BASE64 decode 10000 1.00 0.94 0.88 0.89 0.89 0.86 0.90 0.89 0.88 0.97 0.98 0.93 0.96 0.95 0.93 0.95 0.95 0.96 0.93 0.92 -=- 008 BASE64 decode2 10 1.00 0.93 0.89 0.89 0.90 0.87 0.89 0.89 0.88 0.97 0.98 0.94 0.91 0.90 0.89 0.90 0.91 0.92 0.88 0.88 -=- 009 BASE64 decode2 100 1.00 0.94 0.89 0.89 0.90 0.86 0.90 0.89 0.89 0.97 0.98 0.93 0.94 0.93 0.91 0.93 0.93 0.95 0.91 0.91 -=- 010 BASE64 decode2 1000 1.00 0.94 0.88 0.89 0.89 0.86 0.90 0.89 0.89 0.97 0.98 0.94 0.95 0.94 0.92 0.93 0.93 0.95 0.92 0.92 -=- 011 BASE64 decode2 10000 1.00 0.94 0.88 0.89 0.90 0.86 0.90 0.90 0.89 0.97 0.98 0.93 0.95 0.95 0.93 0.94 0.95 0.96 0.92 0.92 -=- 012 BASE64 decode3 10 1.00 0.93 0.91 0.88 0.87 0.87 0.85 0.87 0.88 1.37 1.38 1.32 1.23 1.21 1.25 1.22 1.20 1.23 1.21 1.08 -=- 013 BASE64 decode3 100 1.00 0.91 0.88 0.86 0.83 0.81 0.85 0.88 0.88 1.50 1.52 1.45 1.36 1.33 1.35 1.32 1.28 1.34 1.32 1.17 -=- 014 BASE64 decode3 1000 1.00 0.91 0.87 0.86 0.83 0.81 0.84 0.87 0.88 1.54 1.57 1.51 1.40 1.37 1.39 1.36 1.32 1.38 1.35 1.21 -=- 015 BASE64 decode3 10000 1.00 0.91 0.87 0.86 0.82 0.81 0.85 0.88 0.88 1.56 1.58 1.50 1.41 1.38 1.40 1.37 1.33 1.39 1.36 1.22 -=- 016 BASE64 encode 10 1.00 0.92 0.94 0.93 0.90 0.90 0.91 0.92 0.91 1.26 1.28 1.25 1.24 1.18 1.17 1.13 1.16 1.19 1.15 1.35 -=- 017 BASE64 encode 100 1.00 0.91 0.95 0.94 0.90 0.88 0.95 0.93 0.91 1.34 1.37 1.34 1.38 1.31 1.29 1.24 1.26 1.31 1.27 1.52 -=- 018 BASE64 encode 1000 1.00 0.90 0.93 0.93 0.88 0.87 0.94 0.94 0.91 1.35 1.38 1.35 1.40 1.33 1.31 1.25 1.26 1.32 1.29 1.54 -=- 019 BASE64 encode 10000 1.00 0.90 0.93 0.94 0.89 0.87 0.94 0.94 0.91 1.35 1.38 1.37 1.41 1.33 1.31 1.26 1.27 1.33 1.31 1.55 -=- 020 BASE64 encode2 10 1.00 0.90 0.91 0.92 0.89 0.90 0.88 0.91 0.91 1.32 1.34 1.32 1.30 1.24 1.22 1.22 1.20 1.22 1.19 1.41 -=- 021 BASE64 encode2 100 1.00 0.91 0.92 0.93 0.91 0.90 0.91 0.94 0.94 1.45 1.48 1.44 1.50 1.45 1.41 1.38 1.37 1.39 1.37 1.67 -=- 022 BASE64 encode2 1000 1.00 0.90 0.91 0.93 0.90 0.89 0.90 0.94 0.95 1.47 1.49 1.46 1.52 1.47 1.43 1.39 1.39 1.41 1.39 1.69 -=- 023 BASE64 encode2 10000 1.00 0.90 0.91 0.93 0.89 0.90 0.90 0.94 0.95 1.47 1.49 1.47 1.54 1.47 1.44 1.39 1.40 1.42 1.40 1.70 -=- 024 BASE64 encode3 10 1.00 0.94 0.95 0.93 0.91 0.90 0.85 0.88 0.89 1.29 1.30 1.25 1.21 1.17 1.33 1.27 1.29 1.28 1.27 1.08 -=- 025 BASE64 encode3 100 1.00 0.89 0.92 0.90 0.87 0.87 0.86 0.89 0.89 1.75 1.73 1.70 1.65 1.59 1.88 1.77 1.76 1.80 1.75 1.51 -=- 026 BASE64 encode3 1000 1.00 0.87 0.88 0.88 0.86 0.85 0.84 0.88 0.88 1.89 1.87 1.85 1.79 1.70 2.03 1.92 1.91 1.93 1.91 1.64 -=- 027 BASE64 encode3 10000 1.00 0.87 0.88 0.88 0.86 0.85 0.83 0.88 0.87 1.92 1.89 1.86 1.80 1.72 2.06 1.94 1.93 1.93 1.94 1.65 -=- 028 BIN bitset-v1 1000 chars 1.00 0.91 0.87 0.91 0.81 0.79 0.85 0.89 0.84 0.98 1.01 0.90 0.99 0.93 0.87 0.90 0.92 0.91 0.97 0.65 -=- 029 BIN bitset-v1 5000 chars 1.00 0.90 0.86 0.91 0.81 0.78 0.84 0.88 0.84 0.98 1.00 0.89 1.04 0.97 0.90 0.94 0.95 0.94 1.01 0.67 -=- 030 BIN bitset-v1 10000 chars 1.00 0.91 0.86 0.91 0.80 0.77 0.83 0.88 0.83 0.97 1.00 0.89 1.05 0.98 0.91 0.95 0.96 0.95 1.02 0.68 -=- 031 BIN bitset-v2 1000 chars 1.00 0.96 0.90 0.88 0.82 0.81 0.88 0.91 0.95 1.13 1.13 1.04 1.03 1.00 0.95 0.98 0.95 1.00 1.02 0.79 -=- 032 BIN bitset-v2 5000 chars 1.00 0.96 0.91 0.89 0.83 0.81 0.89 0.91 0.94 1.17 1.16 1.07 1.07 1.04 0.98 1.00 0.97 1.02 1.03 0.81 -=- 033 BIN bitset-v2 10000 chars 1.00 0.96 0.91 0.89 0.83 0.82 0.88 0.91 0.96 1.17 1.16 1.09 1.07 1.04 0.99 0.99 0.97 1.02 1.04 0.81 -=- 034 BIN bitset-v3 1000 chars 1.00 0.87 0.85 0.80 0.81 0.80 0.80 0.80 0.81 1.68 1.66 1.59 1.58 1.56 1.54 1.49 1.52 1.53 1.52 1.41 -=- 035 BIN bitset-v3 5000 chars 1.00 0.87 0.83 0.79 0.79 0.79 0.80 0.79 0.80 1.85 1.82 1.75 1.73 1.72 1.69 1.64 1.67 1.67 1.66 1.55 -=- 036 BIN bitset-v3 10000 chars 1.00 0.85 0.84 0.79 0.79 0.80 0.82 0.80 0.79 1.87 1.85 1.76 1.77 1.76 1.73 1.66 1.70 1.71 1.69 1.57 -=- 037 BIN c scan, 1000b 1.00 1.00 1.13 0.97 0.97 0.97 0.96 0.96 0.98 0.60 0.60 0.60 0.60 0.60 0.60 0.60 0.60 0.60 0.60 0.49 -=- 038 BIN c scan, 5000b 1.00 1.00 1.19 0.99 0.98 0.98 0.98 0.99 0.99 0.85 0.84 0.85 0.85 0.85 0.84 0.84 0.84 0.84 0.84 0.69 -=- 039 BIN c scan, 10000b 1.00 1.00 1.20 0.99 0.99 0.99 0.99 0.99 0.99 0.92 0.90 0.90 0.92 0.94 0.91 0.92 0.92 0.93 0.90 0.74 -=- 040 CATCH error, complex 1.00 0.98 0.79 0.79 0.79 0.77 0.63 0.63 0.63 0.67 0.67 0.65 0.65 0.65 0.65 0.65 0.60 0.65 0.63 0.58 0.65 041 CATCH no catch used 1.00 1.00 0.40 0.40 0.40 0.35 0.35 0.35 0.35 0.30 0.35 0.30 0.30 0.30 0.30 0.30 0.30 0.30 0.30 0.25 0.60 042 CATCH return error 1.00 0.98 0.81 0.79 0.81 0.79 0.62 0.64 0.64 0.64 0.64 0.62 0.60 0.62 0.64 0.62 0.60 0.62 0.60 0.55 0.64 043 CATCH return except 1.00 1.06 0.47 0.47 0.47 0.47 0.41 0.41 0.41 0.41 0.41 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.35 0.29 1.00 044 CATCH return ok 1.00 0.95 0.38 0.38 0.38 0.38 0.33 0.33 0.38 0.33 0.33 0.33 0.29 0.29 0.29 0.29 0.29 0.29 0.29 0.24 0.86 045 DATA access in a list 1.00 0.90 0.86 0.86 0.87 0.87 0.87 0.89 0.86 2.19 2.35 2.15 1.98 1.99 1.96 2.02 2.03 2.33 2.29 1.94 58.21 046 DATA access in an array 1.00 0.97 0.80 0.85 0.87 0.81 0.84 0.83 0.83 1.40 1.39 1.41 1.32 1.35 1.30 1.33 1.29 1.38 1.28 1.18 5.33 047 DATA create in a list 1.00 0.91 0.87 0.87 0.88 0.88 0.87 0.87 0.87 3.12 3.34 3.06 2.74 2.84 2.69 2.71 2.85 3.08 3.16 2.83 10.72 048 DATA create in an array 1.00 0.98 0.89 0.93 0.96 0.92 0.90 0.92 0.88 1.17 1.22 1.22 1.27 1.19 1.18 1.16 1.17 1.16 1.12 1.48 3.91 049 ENC iso2022-jp, gets 1.00 1.01 1.12 1.11 1.10 1.10 1.09 17.02 16.97 15.38 15.35 15.34 15.43 15.43 15.39 15.67 15.39 15.39 15.39 -=- -=- 050 ENC iso2022-jp, read 1.00 1.00 1.11 1.11 1.11 1.12 1.16 20.96 20.91 19.25 18.90 18.86 18.96 18.96 19.32 18.93 19.27 18.92 18.95 -=- -=- 051 ENC iso2022-jp, read & size 1.00 1.01 1.12 1.12 1.12 1.13 1.12 20.51 20.21 18.28 18.24 18.22 18.58 18.32 18.30 18.28 18.29 18.28 18.49 -=- -=- 052 ENC iso8859-2, gets 1.00 1.01 1.11 1.11 1.09 1.09 1.10 1.31 1.67 0.93 1.20 0.85 0.85 0.84 0.83 0.83 0.83 0.83 0.84 -=- -=- 053 ENC iso8859-2, read 1.00 0.69 0.77 0.77 0.77 0.77 0.77 0.95 0.94 0.57 0.55 0.55 0.54 0.54 0.54 0.54 0.54 0.54 0.54 -=- -=- 054 ENC iso8859-2, read & size 1.00 1.00 1.12 1.12 1.11 1.11 1.13 1.37 1.36 0.83 0.80 0.80 0.79 1.21 0.79 0.79 0.79 0.79 0.79 -=- -=- 055 EVAL cmd and mixed lists 1.00 0.98 1.01 1.01 1.00 1.00 1.00 1.00 1.00 0.78 0.78 0.77 0.78 0.78 0.79 2.26 2.26 2.29 2.26 1.50 0.27 056 EVAL cmd eval as list 1.00 1.00 1.00 1.00 0.89 0.89 1.00 0.89 1.00 1.00 1.00 0.78 0.89 0.78 0.78 2.89 2.89 2.89 2.67 2.78 1.11 057 EVAL cmd eval as string 1.00 0.96 0.89 0.89 0.93 0.85 0.89 0.89 0.93 0.81 0.85 0.78 0.74 0.70 0.74 1.00 1.00 1.07 0.96 0.96 0.41 058 EVAL cmd eval in list obj var 1.00 1.00 0.90 0.90 0.80 0.90 0.90 0.90 0.90 1.00 1.10 0.90 0.80 0.80 0.80 2.80 2.70 2.80 2.60 2.60 1.30 059 EVAL list cmd and mixed lists 1.00 0.98 1.00 1.00 1.00 1.00 0.99 1.00 1.00 0.78 0.78 0.77 0.77 0.78 0.77 2.25 2.25 2.32 2.29 1.50 0.27 060 EVAL list cmd and pure lists 1.00 0.99 0.97 0.98 0.96 0.96 0.95 0.95 0.96 1.01 0.98 0.97 0.95 0.96 0.97 17.07 17.12 17.31 17.38 11.35 2.08 061 EXPR $a != $b int 1.00 1.00 1.00 1.00 1.00 1.00 0.83 1.00 1.00 0.83 0.83 0.83 0.83 0.83 0.83 0.83 0.83 0.83 0.83 0.67 6.83 062 EXPR $a != $b str (!= len) 1.00 0.95 0.84 0.89 0.89 0.95 0.74 0.68 0.68 0.95 1.00 0.89 0.84 0.84 0.84 0.89 0.89 0.89 0.84 0.74 2.89 063 EXPR $a != $b str (== len) 1.00 0.96 0.87 0.87 0.91 0.91 0.78 0.74 0.74 0.78 0.83 0.74 0.70 0.70 0.70 0.74 0.74 0.74 0.70 0.61 2.39 064 EXPR $a == $b int 1.00 0.86 0.86 0.86 0.86 0.86 0.71 0.86 0.86 0.71 0.71 0.71 0.71 0.71 0.71 0.71 0.71 0.71 0.71 0.57 5.86 065 EXPR $a == $b str (!= len) 1.00 0.95 0.84 0.89 0.89 0.95 0.74 0.68 0.68 0.95 1.00 0.89 0.84 0.84 0.84 0.89 0.89 0.89 0.84 0.74 2.84 066 EXPR $a == $b str (== len) 1.00 0.91 0.87 0.87 0.91 0.91 0.78 0.74 0.70 0.78 0.83 0.74 0.70 0.70 0.70 0.74 0.74 0.74 0.70 0.61 2.39 067 EXPR braced 1.00 0.93 0.79 0.79 0.79 0.79 0.79 0.79 0.86 0.86 0.86 0.79 0.79 0.79 0.79 0.71 0.79 0.79 0.71 0.71 5.64 068 EXPR fifty operands 1.00 0.95 0.95 0.95 0.91 0.91 0.91 0.91 0.95 0.91 1.00 0.91 0.95 0.95 0.95 0.91 0.95 0.95 0.91 0.86 4.86 069 EXPR incr with expr 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.75 1.00 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.50 3.50 070 EXPR incr with incr 1.00 1.00 0.75 1.00 0.75 0.75 0.75 1.00 0.75 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.50 2.25 071 EXPR inline 1.00 1.06 0.89 0.83 0.94 0.94 0.44 0.39 0.44 0.78 0.83 0.78 0.78 0.78 0.72 0.78 0.72 0.78 0.78 0.61 2.17 072 EXPR one operand 1.00 1.00 1.00 1.00 1.00 1.00 0.75 0.75 1.00 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.50 3.00 073 EXPR ten operands 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.86 1.00 0.86 1.00 0.86 0.86 0.86 0.86 0.86 0.86 0.86 0.86 0.71 4.29 074 EXPR unbraced 1.00 0.98 0.95 0.97 0.98 0.97 0.98 0.99 0.99 0.71 0.72 0.73 0.70 0.70 0.71 0.71 0.68 0.69 0.09 0.56 0.59 075 FCOPY binary: 160K 1.00 1.00 0.99 0.99 1.01 1.00 0.99 1.01 1.01 1.00 1.00 1.00 1.01 1.01 1.00 0.98 1.00 1.00 0.99 -=- -=- 076 FCOPY encoding: 160K 1.00 1.01 1.01 1.01 1.00 1.00 1.00 1.30 1.30 0.40 0.40 0.40 0.39 0.39 0.40 0.40 0.40 0.40 0.40 -=- -=- 077 FCOPY std: 160K 1.00 0.99 1.01 1.01 1.00 1.01 1.00 1.00 1.00 1.00 1.01 1.00 1.01 1.01 1.00 0.99 1.00 1.00 1.00 1.05 1.04 078 FILE exec interp 1.00 0.98 0.96 0.95 0.96 0.99 0.96 1.03 1.06 0.85 0.87 0.85 0.85 0.89 0.92 0.85 0.85 0.85 0.86 0.87 0.42 079 FILE exec interp: pkg require 1.00 1.04 0.97 0.96 0.99 0.98 0.98 1.06 1.06 0.78 0.76 0.78 0.76 0.78 0.78 0.73 0.72 0.73 0.73 0.41 0.18 080 FILE exists tmpfile (obj) 1.00 1.06 0.94 0.94 0.94 1.00 1.00 1.00 0.94 0.94 0.94 0.88 0.82 0.88 0.82 0.88 0.88 0.82 0.88 0.59 0.53 081 FILE exists ~ 1.00 0.91 1.00 0.91 1.00 1.00 1.00 1.00 1.09 19.09 19.09 19.00 19.00 18.91 18.91 19.09 19.18 19.09 19.09 0.91 1.45 082 FILE exists! tmpfile (obj) 1.00 1.00 0.93 0.93 0.93 1.00 0.79 0.71 0.79 1.29 1.21 1.14 1.07 1.14 1.07 1.14 1.14 1.14 1.14 0.79 0.71 083 FILE exists! tmpfile (str) 1.00 1.00 2.19 2.19 2.22 2.22 2.22 2.44 2.44 0.66 0.66 0.59 0.56 0.59 0.56 0.56 0.56 0.56 0.56 0.38 0.31 084 FILE glob tmpdir (60 entries) 1.00 0.84 0.98 1.00 0.94 0.93 0.94 0.92 0.91 0.77 0.76 0.76 0.76 0.76 0.77 1.05 0.88 0.88 0.87 0.63 0.55 085 FILE glob / all subcommands 1.00 1.00 1.00 0.99 0.99 0.98 0.98 1.08 1.06 1.02 1.03 1.01 1.01 1.01 1.00 1.02 0.99 1.00 1.00 0.90 0.41 086 FILE glob / atime 1.00 1.00 0.99 0.97 1.00 0.95 0.98 1.82 1.81 0.43 0.43 0.41 0.40 0.41 0.43 0.48 0.46 0.46 0.45 0.34 0.45 087 FILE glob / attributes 1.00 1.00 1.00 1.00 1.01 1.00 0.99 1.13 1.13 0.92 0.93 0.92 0.93 0.92 0.92 0.94 0.94 0.94 0.93 0.86 -=- 088 FILE glob / dirname 1.00 0.98 3.53 3.32 3.24 3.15 3.37 3.64 3.43 1.50 1.52 1.47 1.43 1.47 1.47 1.80 1.77 1.77 1.91 1.45 1.54 089 FILE glob / executable 1.00 1.02 0.96 0.97 0.97 0.95 0.95 1.80 1.81 0.42 0.42 0.39 0.39 0.39 0.40 0.45 0.45 0.45 0.44 0.32 0.35 090 FILE glob / exists 1.00 0.99 0.97 0.97 0.99 0.95 0.96 1.82 1.82 0.41 0.44 0.39 0.39 0.39 0.39 0.45 0.47 0.44 0.44 0.32 0.37 091 FILE glob / extension 1.00 0.95 1.53 1.44 1.38 1.34 1.37 1.03 1.02 0.88 0.87 0.97 0.82 0.85 0.83 1.16 1.13 1.11 1.12 0.89 0.97 092 FILE glob / isdirectory 1.00 1.00 0.98 0.99 0.97 0.97 0.99 1.84 1.81 0.45 0.43 0.41 0.40 0.41 0.41 0.47 0.46 0.46 0.45 0.34 0.35 093 FILE glob / isfile 1.00 0.98 0.96 0.95 0.95 0.93 0.95 1.80 1.77 0.42 0.42 0.41 0.40 0.40 0.40 0.48 0.45 0.45 0.45 0.33 0.35 094 FILE glob / mtime 1.00 1.00 0.98 0.97 0.97 0.97 0.97 1.82 1.83 0.43 0.42 0.41 0.40 0.41 0.41 0.47 0.46 0.48 0.45 0.34 0.46 095 FILE glob / owned 1.00 1.00 0.96 0.95 0.95 0.93 0.95 1.76 1.78 0.43 0.43 0.41 0.42 0.41 0.41 0.47 0.46 0.46 0.45 0.34 0.35 096 FILE glob / readable 1.00 1.00 0.99 0.97 0.99 0.95 0.96 1.85 1.80 0.42 0.41 0.39 0.38 0.39 0.40 0.45 0.45 0.44 0.44 0.32 0.35 097 FILE glob / rootname 1.00 0.97 1.25 1.38 1.24 1.20 1.31 0.91 0.90 0.77 0.77 0.76 0.73 0.75 0.73 1.03 1.11 0.99 0.99 0.79 0.87 098 FILE glob / size 1.00 1.02 0.98 0.97 0.97 0.95 0.97 1.84 1.81 0.45 0.42 0.43 0.40 0.43 0.40 0.47 0.46 0.46 0.45 0.34 0.44 099 FILE glob / tail 1.00 0.98 2.39 2.41 2.33 2.31 2.34 2.75 2.82 1.36 1.37 1.29 1.27 1.29 1.30 1.68 1.63 1.62 1.63 1.31 1.39 100 FILE glob / writable 1.00 1.00 0.99 0.97 0.99 0.95 0.99 1.81 1.79 0.41 0.41 0.39 0.39 0.39 0.40 0.45 0.45 0.44 0.47 0.35 0.34 101 FILE recurse / -dir 1.00 1.02 1.15 1.14 1.13 1.11 1.14 1.51 1.50 0.83 0.84 0.83 0.83 0.82 0.82 0.85 0.85 0.84 0.83 0.89 0.80 102 FILE recurse / cd 1.00 1.01 1.76 1.75 1.75 1.74 1.40 2.17 2.14 0.77 0.77 0.77 0.76 0.77 0.76 0.74 0.74 0.74 0.73 0.82 0.73 103 GCCont_cpb::cGCC 50 1.00 0.98 0.91 0.91 0.90 0.89 0.87 0.89 0.89 1.82 1.87 1.82 1.93 1.86 1.86 1.86 1.86 1.91 1.83 1.46 -=- 104 GCCont_cpb::cGCC 500 1.00 0.95 0.84 0.84 0.84 0.84 0.83 0.85 0.85 2.43 2.61 2.48 2.81 2.66 2.67 2.66 2.63 2.73 2.62 2.11 -=- 105 GCCont_cpb::cGCC 5000 1.00 0.95 0.83 0.83 0.82 0.82 0.82 0.84 0.84 2.61 2.81 2.65 3.04 2.86 2.90 2.88 2.83 2.95 2.82 2.26 -=- 106 GCCont_cpbre1::cGCC 50 1.00 0.95 0.92 0.94 0.95 0.91 0.89 0.90 0.91 0.94 0.94 0.93 0.91 0.93 0.91 -=- -=- -=- -=- -=- -=- 107 GCCont_cpbre1::cGCC 500 1.00 0.99 0.99 0.99 1.00 0.98 0.98 0.99 1.00 1.00 1.00 1.00 1.00 1.00 1.00 -=- -=- -=- -=- -=- -=- 108 GCCont_cpbre1::cGCC 5000 1.00 1.00 1.00 1.00 1.00 0.99 0.99 1.01 1.01 1.01 1.01 1.02 1.01 1.02 1.02 -=- -=- -=- -=- -=- -=- 109 GCCont_cpbre2::cGCC 50 1.00 0.98 0.96 0.96 0.97 0.96 0.93 0.94 0.95 0.99 0.99 0.99 0.97 0.98 0.98 -=- -=- -=- -=- -=- -=- 110 GCCont_cpbre2::cGCC 500 1.00 0.99 0.99 0.99 1.00 0.98 0.98 1.00 1.00 1.01 1.01 1.01 1.01 1.01 1.01 -=- -=- -=- -=- -=- -=- 111 GCCont_cpbre2::cGCC 5000 1.00 1.00 1.00 1.00 1.00 0.99 0.99 1.01 1.01 1.02 1.02 1.02 1.02 1.02 1.02 -=- -=- -=- -=- -=- -=- 112 GCCont_cpbrs2::cGCC 50 1.00 0.97 0.94 0.94 0.93 0.93 0.88 0.81 0.82 2.82 2.83 2.77 2.75 2.77 2.75 2.76 2.77 2.73 2.77 -=- -=- 113 GCCont_cpbrs2::cGCC 500 1.00 0.99 0.98 0.98 0.98 0.98 0.96 0.90 0.89 5.63 5.65 5.55 5.57 5.64 5.56 5.60 5.62 5.52 5.52 -=- -=- 114 GCCont_cpbrs2::cGCC 5000 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.92 0.92 6.66 6.66 6.57 6.59 6.65 6.57 6.62 6.64 6.53 6.53 -=- -=- 115 GCCont_cpbrs::cGCC1 50 1.00 0.95 0.91 0.90 0.91 0.88 0.90 0.87 0.88 2.76 2.70 2.64 2.66 2.72 2.65 2.62 2.66 2.66 2.66 1.62 -=- 116 GCCont_cpbrs::cGCC1 500 1.00 0.98 0.97 0.97 0.98 0.97 0.98 0.88 0.89 5.90 5.85 5.76 5.78 5.87 5.76 5.80 5.82 5.74 5.72 1.14 -=- 117 GCCont_cpbrs::cGCC1 5000 1.00 1.00 1.00 0.99 1.01 1.01 1.01 0.90 0.90 7.51 7.41 7.35 7.39 7.48 7.35 7.40 7.42 7.30 7.31 0.84 -=- 118 GCCont_cpbrs::cGCC2 50 1.00 0.96 0.89 0.89 0.86 0.87 0.86 0.80 0.81 3.28 3.21 3.11 3.15 3.17 3.09 3.15 3.16 3.14 3.13 1.82 -=- 119 GCCont_cpbrs::cGCC2 500 1.00 0.99 0.96 0.96 0.96 0.96 0.96 0.84 0.84 6.49 6.42 6.36 6.37 6.44 6.33 6.39 6.42 6.32 6.32 1.19 -=- 120 GCCont_cpbrs::cGCC2 5000 1.00 1.00 0.99 0.99 1.00 1.00 1.00 0.86 0.87 8.08 8.01 7.95 7.97 8.07 7.94 7.98 8.01 7.89 7.90 0.80 -=- 121 GCCont_cpbrs_trap::cGCC 50 1.00 0.98 0.96 0.96 0.97 0.97 0.95 0.95 0.94 1.04 1.03 1.01 1.01 1.03 1.01 1.01 1.01 1.00 1.01 0.58 -=- 122 GCCont_cpbrs_trap::cGCC 500 1.00 1.00 0.99 0.99 1.01 1.01 0.99 0.99 0.99 1.08 1.07 1.06 1.06 1.08 1.06 1.07 1.07 1.05 1.06 0.50 -=- 123 GCCont_cpbrs_trap::cGCC 5000 1.00 1.00 0.99 0.99 1.01 1.02 0.99 1.00 0.99 1.08 1.07 1.06 1.06 1.08 1.06 1.07 1.07 1.05 1.05 0.48 -=- 124 GCCont_expr::cGCC 50 1.00 1.01 0.99 0.99 0.99 0.99 1.06 1.01 1.02 0.94 0.94 0.94 0.92 0.93 0.92 0.93 0.93 0.93 1.12 -=- -=- 125 GCCont_expr::cGCC 500 1.00 1.01 1.00 1.00 1.01 1.01 1.04 1.03 1.03 1.00 1.01 1.00 1.00 1.00 1.00 1.01 1.00 1.00 1.05 -=- -=- 126 GCCont_expr::cGCC 5000 1.00 1.01 0.93 0.99 0.93 1.00 1.01 0.98 0.96 1.02 1.02 0.95 0.95 1.03 1.03 0.96 0.96 0.96 1.03 -=- -=- 127 GCCont_i::cGCC1 50 1.00 0.88 0.85 0.84 0.86 0.77 0.91 0.87 0.85 0.87 0.92 0.78 0.82 0.86 0.80 0.84 0.82 0.85 0.82 0.63 -=- 128 GCCont_i::cGCC1 500 1.00 0.87 0.83 0.81 0.85 0.75 0.90 0.85 0.83 0.84 0.90 0.74 0.82 0.86 0.80 0.83 0.82 0.85 0.82 0.66 -=- 129 GCCont_i::cGCC1 5000 1.00 0.87 0.82 0.81 0.85 0.74 0.89 0.84 0.82 0.84 0.90 0.73 0.81 0.85 0.79 0.83 0.80 0.84 0.81 0.65 -=- 130 GCCont_i::cGCC2 50 1.00 0.98 0.89 0.89 0.89 0.88 0.87 0.90 0.89 1.33 1.27 1.26 1.42 1.42 1.41 1.41 1.43 1.47 1.39 1.07 -=- 131 GCCont_i::cGCC2 500 1.00 0.98 0.85 0.85 0.85 0.85 0.84 0.86 0.86 1.40 1.32 1.30 1.59 1.58 1.58 1.59 1.61 1.66 1.57 1.30 -=- 132 GCCont_i::cGCC2 5000 1.00 0.98 0.84 0.84 0.84 0.84 0.84 0.86 0.86 1.41 1.33 1.31 1.61 1.60 1.61 1.60 1.60 1.66 1.59 1.31 -=- 133 GCCont_i::cGCC3 50 1.00 0.99 0.91 0.91 0.91 0.90 0.89 0.91 0.91 1.42 1.34 1.36 1.52 1.50 1.51 1.53 1.57 1.58 1.48 1.11 -=- 134 GCCont_i::cGCC3 500 1.00 0.95 0.85 0.85 0.86 0.86 0.85 0.87 0.87 1.52 1.41 1.42 1.74 1.75 1.76 1.78 1.84 1.87 1.73 1.39 -=- 135 GCCont_i::cGCC3 5000 1.00 0.95 0.85 0.85 0.85 0.85 0.85 0.87 0.87 1.54 1.43 1.44 1.77 1.77 1.79 1.79 1.83 1.87 1.76 1.41 -=- 136 GCCont_r1::cGCC 50 1.00 0.94 0.84 0.81 0.80 0.78 0.85 0.88 0.87 0.97 0.99 0.91 0.87 0.86 0.84 0.88 0.88 0.91 0.85 0.60 -=- 137 GCCont_r1::cGCC 500 1.00 0.94 0.84 0.81 0.80 0.78 0.86 0.89 0.87 0.97 0.98 0.90 0.87 0.86 0.84 0.88 0.87 0.91 0.85 0.60 -=- 138 GCCont_r1::cGCC 5000 1.00 0.94 0.85 0.81 0.80 0.78 0.86 0.89 0.87 0.97 0.99 0.90 0.88 0.86 0.84 0.88 0.87 0.92 0.84 0.60 -=- 139 GCCont_r2::cGCC 50 1.00 0.98 0.87 0.87 0.85 0.84 0.91 0.91 0.90 0.88 0.89 0.80 0.80 0.82 0.79 0.86 0.81 0.88 0.81 0.60 -=- 140 GCCont_r2::cGCC 500 1.00 0.99 0.87 0.87 0.85 0.84 0.92 0.93 0.90 0.88 0.89 0.78 0.81 0.83 0.79 0.88 0.83 0.92 0.82 0.63 -=- 141 GCCont_r2::cGCC 5000 1.00 0.99 0.87 0.88 0.85 0.84 0.92 0.94 0.89 0.87 0.88 0.78 0.82 0.83 0.79 0.88 0.82 0.90 0.83 0.63 -=- 142 GCCont_r3::cGCC 50 1.00 0.97 0.88 0.87 0.85 0.85 0.92 0.94 0.93 0.89 0.89 0.80 0.81 0.83 0.80 0.87 0.82 0.91 0.82 0.59 -=- 143 GCCont_r3::cGCC 500 1.00 0.99 0.87 0.87 0.85 0.83 0.93 0.95 0.91 0.88 0.88 0.78 0.81 0.84 0.81 0.87 0.81 0.91 0.82 0.62 -=- 144 GCCont_r3::cGCC 5000 1.00 0.99 0.87 0.87 0.86 0.85 0.93 0.96 0.91 0.88 0.89 0.78 0.82 0.84 0.81 0.88 0.82 0.92 0.82 0.62 -=- 145 GCCont_rsf1::cGCC 50 1.00 0.98 0.92 0.92 0.92 0.92 0.89 0.88 0.89 1.15 1.15 1.14 1.37 1.39 1.38 1.38 1.39 1.43 1.37 -=- -=- 146 GCCont_rsf1::cGCC 500 1.00 0.94 0.88 0.88 0.88 0.88 0.88 0.86 0.86 1.23 1.23 1.22 1.71 1.70 1.71 1.68 1.68 1.77 1.68 -=- -=- 147 GCCont_rsf1::cGCC 5000 1.00 0.94 0.87 0.88 0.87 0.88 0.88 0.86 0.86 1.25 1.26 1.24 1.76 1.72 1.76 1.74 1.73 1.81 1.73 -=- -=- 148 GCCont_rsf2::cGCC1 50 1.00 0.97 0.95 0.93 0.93 0.93 0.89 0.91 0.92 1.21 1.21 1.19 1.32 1.36 1.36 1.30 1.31 1.34 1.36 -=- -=- 149 GCCont_rsf2::cGCC1 500 1.00 0.95 0.90 0.91 0.90 0.91 0.90 0.92 0.92 1.49 1.49 1.47 1.84 1.85 1.85 1.82 1.83 1.89 1.81 -=- -=- 150 GCCont_rsf2::cGCC1 5000 1.00 0.95 0.90 0.90 0.90 0.90 0.90 0.93 0.93 1.56 1.56 1.55 1.96 1.96 1.98 1.95 1.94 2.01 1.94 -=- -=- 151 GCCont_rsf2::cGCC2 50 1.00 0.94 0.94 0.91 0.93 0.92 0.89 0.91 0.92 1.13 1.13 1.13 1.28 1.24 1.26 1.25 1.28 1.28 1.24 -=- -=- 152 GCCont_rsf2::cGCC2 500 1.00 0.96 0.90 0.90 0.90 0.90 0.90 0.92 0.93 1.42 1.42 1.41 1.79 1.77 1.81 1.78 1.79 1.84 1.77 -=- -=- 153 GCCont_rsf2::cGCC2 5000 1.00 0.95 0.89 0.89 0.89 0.90 0.90 0.92 0.92 1.48 1.48 1.46 1.90 1.89 1.92 1.89 1.89 1.95 1.87 -=- -=- 154 GCCont_rsf3::cGCC 50 1.00 0.98 0.93 0.93 0.92 0.92 0.91 0.91 0.91 1.10 1.10 1.09 1.23 1.26 1.27 1.21 1.21 1.24 1.20 -=- -=- 155 GCCont_rsf3::cGCC 500 1.00 0.95 0.89 0.90 0.89 0.90 0.90 0.92 0.92 1.41 1.41 1.39 1.78 1.76 1.80 1.76 1.76 1.83 1.75 -=- -=- 156 GCCont_rsf3::cGCC 5000 1.00 0.95 0.89 0.89 0.89 0.90 0.90 0.92 0.93 1.48 1.48 1.46 1.90 1.90 1.91 1.88 1.88 1.95 1.87 -=- -=- 157 GCCont_turing::cGCC 50 1.00 0.97 0.95 0.95 0.94 0.94 0.94 0.78 0.78 1.40 1.39 1.37 1.36 1.37 1.36 1.37 1.36 1.37 1.37 -=- -=- 158 GCCont_turing::cGCC 500 1.00 0.99 0.99 0.99 0.99 0.99 0.99 0.67 0.67 2.03 2.03 1.99 2.01 2.01 2.01 2.03 2.02 2.01 2.01 -=- -=- 159 GCCont_turing::cGCC 5000 1.00 1.00 1.00 0.99 1.00 0.99 1.00 0.63 0.63 2.22 2.22 2.18 2.19 2.19 2.19 2.22 2.22 2.21 2.21 -=- -=- 160 HEAPSORT size 10 1.00 0.90 0.88 0.90 0.86 0.85 0.85 0.86 0.82 1.08 1.04 1.01 1.00 0.99 0.99 0.97 0.97 1.00 0.99 13.69 8.11 161 HEAPSORT size 50 1.00 0.88 0.88 0.90 0.85 0.85 0.87 0.88 0.82 1.05 1.02 0.99 0.97 0.96 0.96 0.94 0.94 0.96 0.96 9.45 8.36 162 HEAPSORT size 100 1.00 0.88 0.88 0.90 0.85 0.85 0.87 0.88 0.82 1.06 1.01 0.98 0.96 0.96 0.95 0.93 0.94 0.95 0.96 8.28 8.28 163 HEAPSORT2 size 10 1.00 0.91 0.91 0.92 0.92 0.91 0.92 0.92 0.91 -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- 164 HEAPSORT2 size 50 1.00 0.90 0.91 0.93 0.92 0.91 0.93 0.94 0.93 -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- 165 HEAPSORT2 size 100 1.00 0.90 0.91 0.93 0.93 0.92 0.94 0.95 0.94 -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- 166 IF 1/0 check 1.00 0.80 0.80 0.80 0.80 0.80 0.80 0.80 0.80 1.40 1.40 1.40 1.40 1.40 1.20 1.20 1.40 1.20 1.20 1.00 5.20 167 IF else true al 1.00 0.90 0.85 0.90 0.85 0.90 0.85 0.90 0.90 0.80 0.90 0.80 0.80 0.75 0.75 0.75 0.80 0.80 0.75 0.60 2.40 168 IF else true numeric 1.00 0.88 0.88 0.88 0.75 0.75 0.75 0.75 0.75 0.88 1.00 0.88 0.88 0.88 0.88 0.88 0.88 0.88 0.88 0.75 5.12 169 IF elseif true al 1.00 0.93 0.87 0.87 0.87 0.87 0.87 0.87 0.87 1.13 1.27 1.13 1.07 1.07 1.00 1.07 1.07 1.07 1.00 0.87 3.20 170 IF elseif true numeric 1.00 0.88 0.88 0.88 0.88 0.88 0.75 0.75 0.88 1.00 1.00 0.88 0.88 0.88 0.88 0.88 0.88 0.88 0.88 0.88 5.12 171 IF if false al/al 1.00 0.86 0.79 0.86 0.79 0.86 0.86 0.86 0.79 0.79 0.86 0.79 0.79 0.71 0.71 0.71 0.71 0.79 0.71 0.57 2.36 172 IF if false al/num 1.00 0.83 0.75 0.83 0.75 0.75 0.83 0.83 0.75 0.75 0.83 0.75 0.75 0.67 0.67 0.67 0.75 0.75 0.67 0.58 4.67 173 IF if false num/num 1.00 0.86 0.86 0.86 0.71 0.86 0.71 0.71 0.86 0.86 0.86 0.86 0.71 0.71 0.86 0.71 0.86 0.86 0.71 0.71 4.71 174 IF if true al 1.00 1.00 0.83 1.00 0.83 0.83 0.83 0.83 0.83 1.83 2.00 1.83 1.67 1.67 1.67 1.67 1.67 1.83 1.67 1.50 6.00 175 IF if true al/al 1.00 0.86 0.71 0.86 0.71 0.86 0.71 0.71 0.86 1.57 1.86 1.57 1.57 1.43 1.43 1.43 1.57 1.57 1.43 1.29 4.57 176 IF if true num/num 1.00 0.86 0.71 0.86 0.71 0.86 0.71 0.71 0.86 0.86 1.00 0.86 0.86 0.86 0.86 0.71 0.86 0.86 0.71 0.71 4.71 177 IF if true numeric 1.00 1.00 0.83 1.00 0.83 0.83 0.83 0.83 0.83 1.00 1.00 1.00 0.83 0.83 0.83 0.83 0.83 1.00 0.83 0.83 5.17 178 IF multi 1st true 1.00 0.86 0.86 0.86 0.86 0.86 0.71 0.71 0.86 0.86 0.86 0.86 0.71 0.71 0.86 0.71 0.86 0.86 0.71 0.71 7.14 179 IF multi 2nd true 1.00 1.00 1.00 1.00 0.86 0.86 0.86 0.86 0.86 1.00 1.14 1.00 1.00 1.00 1.00 0.86 1.00 1.00 1.00 0.86 8.00 180 IF multi 9th true 1.00 1.00 0.92 0.92 0.92 0.92 0.92 0.85 0.92 1.15 1.23 1.15 1.15 1.15 1.15 1.08 1.15 1.15 1.08 1.08 7.85 181 IF multi default true 1.00 0.92 0.92 0.92 0.92 0.92 0.92 0.85 0.85 1.15 1.23 1.15 1.15 1.08 1.08 1.08 1.15 1.15 1.08 1.08 8.00 182 KLIST shuffle0 llength 1 1.00 0.98 0.96 1.02 0.93 0.93 0.93 0.96 0.98 1.52 1.52 1.46 1.41 1.37 1.37 1.35 1.37 1.35 1.33 1.24 8.0+ 183 KLIST shuffle0 llength 10 1.00 0.94 0.92 0.93 0.88 0.88 0.89 0.90 0.89 1.69 1.74 1.64 1.55 1.53 1.55 1.52 1.53 1.55 1.54 1.36 8.0+ 184 KLIST shuffle0 llength 100 1.00 0.96 0.86 0.87 0.83 0.83 0.83 0.84 0.83 1.61 1.64 1.55 1.48 1.44 1.47 1.45 1.46 1.48 1.48 1.31 8.0+ 185 KLIST shuffle0 llength 1000 1.00 0.97 0.87 0.88 0.84 0.84 0.85 0.85 0.84 1.48 1.50 1.44 1.37 1.35 1.37 1.35 1.36 1.38 1.38 1.25 8.0+ 186 KLIST shuffle0 llength 10000 1.00 0.98 0.89 0.89 0.87 0.87 0.87 0.87 0.86 1.34 1.34 1.29 1.25 1.23 1.25 1.23 1.23 1.24 1.25 1.14 -=- 187 KLIST shuffle1-s llength 1 1.00 0.91 0.87 0.89 0.89 0.85 0.89 0.91 0.91 1.00 0.96 1.00 0.93 0.91 0.89 0.89 0.91 0.89 0.89 0.59 2.57 188 KLIST shuffle1-s llength 10 1.00 0.92 0.89 0.87 0.87 0.83 0.86 0.92 0.88 0.93 0.96 0.95 0.99 0.93 0.90 0.89 0.95 0.94 0.93 0.77 4.59 189 KLIST shuffle1-s llength 100 1.00 0.92 0.92 0.89 0.90 0.87 0.89 0.94 0.94 0.92 0.93 0.93 0.94 0.89 0.90 0.82 0.86 0.86 0.84 0.65 5.64 190 KLIST shuffle1-s llength 1000 1.00 0.98 0.99 0.98 0.98 0.98 0.98 0.98 0.98 0.98 0.96 0.98 0.99 0.96 0.98 0.87 0.88 0.87 0.86 0.86 3.15 191 KLIST shuffle1a llength 1 1.00 0.94 0.89 0.91 0.89 0.87 0.91 0.92 0.92 1.00 0.98 1.00 0.94 0.91 0.87 0.89 0.89 0.92 0.89 0.58 2.79 192 KLIST shuffle1a llength 10 1.00 0.90 0.84 0.86 0.85 0.80 0.85 0.89 0.85 0.91 0.93 0.91 0.98 0.89 0.91 0.85 0.92 0.94 0.91 0.78 4.93 193 KLIST shuffle1a llength 100 1.00 0.89 0.83 0.85 0.85 0.79 0.83 0.90 0.85 0.89 0.90 0.89 0.99 0.89 0.91 0.85 0.92 0.94 0.91 0.77 8.68 194 KLIST shuffle1a llength 1000 1.00 0.89 0.82 0.85 0.85 0.79 0.83 0.90 0.85 0.89 0.90 0.88 1.00 0.90 0.92 0.86 0.93 0.95 0.91 0.78 43.37 195 KLIST shuffle1a llength 10000 1.00 0.90 0.83 0.85 0.85 0.80 0.84 0.90 0.85 0.89 0.89 0.88 1.01 0.91 0.93 0.87 0.94 0.96 0.92 0.78 -=- 196 KLIST shuffle2 llength 1 1.00 0.96 0.92 0.92 0.94 0.92 0.90 0.92 0.92 1.18 1.16 1.14 1.14 1.08 1.04 1.06 1.10 1.08 1.06 1.08 2.92 197 KLIST shuffle2 llength 10 1.00 0.91 0.82 0.84 0.86 0.86 0.84 0.91 0.89 1.14 1.14 1.10 1.08 1.06 1.03 1.04 1.07 1.08 1.01 1.31 4.41 198 KLIST shuffle2 llength 100 1.00 0.91 0.82 0.85 0.87 0.88 0.84 0.93 0.90 1.11 1.11 1.08 1.04 1.02 0.99 0.99 1.03 1.03 0.98 1.28 4.49 199 KLIST shuffle2 llength 1000 1.00 0.92 0.84 0.85 0.88 0.89 0.86 0.94 0.91 1.10 1.09 1.07 1.05 1.01 0.98 0.99 1.02 1.03 0.98 1.28 4.35 200 KLIST shuffle2 llength 10000 1.00 0.93 0.85 0.86 0.88 0.91 0.87 0.93 0.92 1.11 1.09 1.08 1.05 1.01 0.98 0.98 1.02 1.02 0.97 1.26 -=- 201 KLIST shuffle3 llength 1 1.00 0.96 0.87 0.91 0.91 0.89 0.89 0.93 0.93 1.17 1.15 1.13 1.11 1.09 1.07 1.07 1.09 1.09 1.07 0.76 2.41 202 KLIST shuffle3 llength 10 1.00 0.92 0.86 0.87 0.86 0.82 0.85 0.93 0.91 1.13 1.13 1.12 1.17 1.09 1.12 1.10 1.12 1.18 1.10 1.02 4.79 203 KLIST shuffle3 llength 100 1.00 0.92 0.84 0.85 0.86 0.81 0.85 0.92 0.89 1.09 1.10 1.09 1.17 1.07 1.11 1.10 1.11 1.19 1.10 0.95 6.05 204 KLIST shuffle3 llength 1000 1.00 0.94 0.84 0.86 0.87 0.82 0.86 0.94 0.89 1.09 1.09 1.08 1.19 1.07 1.11 1.11 1.14 1.18 1.11 0.96 17.09 205 KLIST shuffle3 llength 10000 1.00 0.96 0.92 0.93 0.93 0.91 0.92 0.96 0.95 1.05 1.05 1.03 1.10 1.04 1.06 1.06 1.07 1.10 1.07 0.99 -=- 206 KLIST shuffle4 llength 1 1.00 0.96 0.89 0.89 0.89 0.89 0.89 0.94 0.91 1.19 1.19 1.15 1.13 1.09 1.06 1.09 1.11 1.11 1.06 0.79 2.60 207 KLIST shuffle4 llength 10 1.00 0.92 0.84 0.86 0.84 0.81 0.84 0.91 0.87 1.15 1.16 1.13 1.22 1.10 1.13 1.13 1.15 1.16 1.11 1.03 4.94 208 KLIST shuffle4 llength 100 1.00 0.93 0.84 0.86 0.85 0.82 0.85 0.91 0.87 1.12 1.17 1.11 1.21 1.10 1.15 1.10 1.15 1.18 1.12 0.98 7.64 209 KLIST shuffle4 llength 1000 1.00 0.94 0.84 0.86 0.86 0.82 0.84 0.91 0.87 1.12 1.14 1.12 1.22 1.11 1.14 1.13 1.17 1.20 1.13 0.97 31.80 210 KLIST shuffle4 llength 10000 1.00 0.93 0.84 0.86 0.85 0.81 0.85 0.91 0.87 1.11 1.15 1.11 1.22 1.11 1.15 1.12 1.16 1.19 1.14 0.98 -=- 211 KLIST shuffle5-s llength 1 1.00 0.95 0.86 0.81 0.81 0.81 0.76 0.81 0.86 1.00 0.95 0.90 0.90 0.90 0.86 0.86 0.90 0.86 0.86 0.67 3.95 212 KLIST shuffle5-s llength 10 1.00 0.91 0.84 0.81 0.81 0.82 0.78 0.86 0.88 0.86 0.87 0.83 0.81 0.78 0.71 0.76 0.80 0.76 0.73 0.62 4.29 213 KLIST shuffle5-s llength 100 1.00 0.93 0.88 0.85 0.84 0.88 0.80 0.91 0.92 0.85 0.91 0.85 0.80 0.81 0.74 0.72 0.77 0.72 0.71 0.60 4.15 214 KLIST shuffle5-s llength 1000 1.00 0.97 0.95 0.95 0.93 0.93 0.94 0.94 0.97 0.95 0.95 0.95 0.93 0.92 0.91 0.77 0.78 0.77 0.75 0.73 2.20 215 KLIST shuffle5a llength 1 1.00 0.92 0.84 0.80 0.80 0.80 0.76 0.84 0.84 0.92 0.92 0.84 0.84 0.84 0.84 0.84 0.88 0.84 0.80 0.64 3.72 216 KLIST shuffle5a llength 10 1.00 0.94 0.85 0.86 0.83 0.83 0.81 0.87 0.87 0.86 0.88 0.82 0.77 0.75 0.74 0.74 0.78 0.76 0.70 0.62 4.78 217 KLIST shuffle5a llength 100 1.00 0.93 0.84 0.83 0.82 0.82 0.82 0.86 0.86 0.83 0.87 0.79 0.74 0.72 0.71 0.69 0.75 0.73 0.66 0.60 5.75 218 KLIST shuffle5a llength 1000 1.00 0.94 0.84 0.85 0.83 0.83 0.82 0.87 0.87 0.84 0.87 0.80 0.75 0.73 0.72 0.71 0.76 0.75 0.68 0.63 13.97 219 KLIST shuffle5a llength 10000 1.00 0.97 0.93 0.93 0.92 0.93 0.92 0.94 0.94 0.92 0.93 0.90 0.88 0.88 0.87 0.87 0.89 0.88 0.85 0.82 -=- 220 KLIST shuffle6 llength 1 1.00 0.86 0.71 0.86 0.71 0.71 0.71 0.71 0.71 -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- 221 KLIST shuffle6 llength 10 1.00 0.94 0.89 0.91 0.91 0.91 0.95 0.94 0.92 -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- 222 KLIST shuffle6 llength 100 1.00 0.92 0.89 0.90 0.90 0.94 0.97 0.95 0.93 -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- 223 KLIST shuffle6 llength 1000 1.00 0.92 0.89 0.91 0.90 0.94 0.97 0.95 0.93 -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- 224 KLIST shuffle6 llength 10000 1.00 0.92 0.90 0.91 0.90 0.94 0.97 0.96 0.93 -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- -=- 225 LIST append to list 1.00 1.00 0.88 0.88 0.75 0.75 0.75 0.88 0.88 1.75 1.88 1.62 1.50 1.50 1.50 1.50 1.62 1.62 1.50 1.38 1.25 226 LIST concat APPEND 2x10 1.00 0.96 0.98 0.98 1.00 0.93 0.83 0.85 0.85 0.98 1.00 0.98 0.91 0.96 0.93 0.93 0.93 0.93 0.89 0.70 0.43 227 LIST concat APPEND 2x100 1.00 0.99 0.99 0.99 1.04 0.98 0.97 0.97 0.99 1.00 1.01 0.99 0.99 1.00 0.99 1.01 1.00 1.00 1.00 0.83 0.27 228 LIST concat APPEND 2x1000 1.00 1.00 0.99 1.00 1.06 0.99 0.99 0.99 1.01 1.00 1.00 0.99 0.99 1.00 0.99 0.99 0.99 0.99 0.99 0.81 0.21 229 LIST concat APPEND 2x10000 1.00 0.98 1.01 0.99 1.06 1.00 1.01 1.00 1.02 0.99 0.99 0.97 0.98 0.98 0.98 0.99 0.96 0.98 0.97 0.84 0.19 230 LIST concat CONCAT 2x10 1.00 1.12 1.06 1.06 1.06 1.00 0.76 0.76 0.76 1.00 1.00 1.00 0.94 0.88 0.88 1.88 1.82 1.82 1.82 1.41 1.47 231 LIST concat CONCAT 2x100 1.00 0.96 0.93 0.93 0.96 0.89 0.75 0.79 0.79 0.89 0.93 0.89 0.86 0.79 0.82 8.00 8.00 7.96 7.93 6.57 3.21 232 LIST concat CONCAT 2x1000 1.00 0.99 0.98 0.98 0.99 0.98 0.95 0.94 0.95 0.98 0.99 0.98 0.97 0.96 0.97 17.47 17.47 17.45 17.32 14.31 5.09 233 LIST concat CONCAT 2x10000 1.00 0.99 1.00 1.00 1.00 0.99 0.99 0.99 0.99 0.98 0.99 0.99 1.00 1.01 0.98 21.96 21.28 21.78 21.59 18.68 5.95 234 LIST concat EVAL/LAPPEND 2x10 1.00 1.04 1.08 1.12 1.12 1.08 1.04 1.04 1.04 1.08 1.08 1.04 1.00 0.96 0.96 1.88 1.85 1.88 1.88 1.58 1.35 235 LIST concat EVAL/LAPPEND 2x100 1.00 0.97 0.95 0.95 0.97 0.95 0.93 0.95 0.93 0.95 0.95 0.93 0.93 0.88 0.88 2.85 2.85 2.88 2.88 2.70 3.85 236 LIST concat EVAL/LAPPEND 2x1000 1.00 0.99 0.98 0.97 0.98 0.97 0.97 0.97 0.97 0.97 0.99 0.97 0.97 0.97 0.96 5.17 5.19 5.18 5.16 4.85 7.81 237 LIST concat EVAL/LAPPEND 2x10000 1.00 0.94 0.99 0.94 0.94 0.94 0.94 0.94 0.97 0.94 0.95 0.95 0.96 0.96 0.94 5.50 5.22 5.39 5.19 4.49 7.64 238 LIST concat FOREACH/LAPPEND 2x10 1.00 0.91 0.78 0.81 0.84 0.84 0.66 0.66 0.66 1.56 1.50 1.41 1.31 1.31 1.31 1.28 1.31 1.34 1.34 1.19 1.78 239 LIST concat FOREACH/LAPPEND 2x100 1.00 0.83 0.73 0.73 0.73 0.73 0.68 0.70 0.70 2.25 2.22 2.05 1.86 1.90 1.94 1.85 1.87 1.95 1.95 1.77 2.55 240 LIST concat FOREACH/LAPPEND 2x1000 1.00 0.81 0.71 0.71 0.71 0.70 0.70 0.70 0.73 2.46 2.37 2.19 1.99 2.03 2.08 1.98 2.01 2.09 2.09 1.90 2.63 241 LIST concat FOREACH/LAPPEND 2x10000 1.00 0.81 0.71 0.70 0.70 0.70 0.70 0.70 0.73 2.43 2.34 2.18 2.02 2.02 2.07 1.97 2.00 2.07 2.08 1.95 2.61 242 LIST concat SET 2x10 1.00 0.94 0.97 1.00 1.00 0.94 0.82 0.85 0.85 0.97 0.97 0.91 0.88 0.91 0.88 0.88 0.91 0.88 0.88 0.68 0.59 243 LIST concat SET 2x100 1.00 1.00 1.00 1.03 1.09 1.01 0.98 0.99 1.01 0.99 1.00 0.99 0.98 1.00 0.98 0.99 0.98 0.98 0.98 0.80 0.33 244 LIST concat SET 2x1000 1.00 1.00 1.00 1.01 1.08 1.00 1.00 1.00 1.02 1.01 1.01 1.00 1.00 1.01 1.00 1.00 1.00 0.99 0.99 0.81 0.26 245 LIST concat SET 2x10000 1.00 1.00 1.03 1.01 1.09 1.02 1.03 1.01 1.03 1.02 1.02 0.99 1.01 1.01 1.01 1.01 0.98 1.01 0.99 0.86 0.25 246 LIST exact search, first item 1.00 0.90 0.80 0.80 0.90 0.90 0.70 0.60 0.60 0.60 0.70 0.60 0.50 0.50 0.50 0.60 0.60 0.60 0.50 0.50 44.90 247 LIST exact search, last item 1.00 1.00 0.72 0.74 0.74 0.74 0.70 0.70 0.70 0.64 0.64 0.62 0.62 0.60 0.60 0.64 0.64 0.62 0.62 0.56 9.26 248 LIST exact search, middle item 1.00 1.00 0.71 0.71 0.71 0.75 0.62 0.62 0.62 0.58 0.58 0.54 0.54 0.50 0.54 0.54 0.54 0.54 0.54 0.42 19.04 249 LIST exact search, non-item 1.00 1.00 0.76 0.77 0.77 0.77 0.74 0.77 0.77 0.69 0.69 0.68 0.68 0.68 0.68 0.69 0.69 0.69 0.68 0.67 3.65 250 LIST exact search, typed item 1.00 1.00 0.65 0.65 0.67 0.67 0.63 0.63 0.65 0.74 0.74 0.72 0.72 0.70 0.70 0.74 0.74 0.72 0.72 0.65 10.77 251 LIST exact search, untyped item 1.00 0.98 0.71 0.73 0.73 0.73 0.69 0.69 0.69 0.63 0.63 0.61 0.61 0.59 0.59 0.61 0.63 0.61 0.61 0.55 9.08 252 LIST index first element 1.00 0.86 0.86 0.86 1.00 1.00 0.71 0.71 0.71 0.86 0.86 0.71 0.71 0.71 0.71 0.71 0.86 0.71 0.71 0.57 11.57 253 LIST index last element 1.00 0.86 0.86 0.86 1.00 1.00 0.71 0.71 0.71 0.86 0.86 0.71 0.71 0.71 0.71 0.71 0.86 0.71 0.71 0.57 18.71 254 LIST index middle element 1.00 0.86 0.86 0.86 1.00 1.00 0.71 0.71 0.71 0.86 0.86 0.71 0.71 0.71 0.71 0.71 0.86 0.71 0.71 0.57 15.14 255 LIST insert an item at "end" 1.00 0.98 0.99 0.97 0.99 0.98 0.95 0.96 0.96 0.97 0.96 0.96 0.95 0.96 0.95 0.94 0.95 0.94 0.94 0.93 2.91 256 LIST insert an item at middle 1.00 0.96 0.98 0.97 0.98 0.97 0.94 0.95 0.95 0.97 0.96 0.96 0.95 0.94 0.94 0.93 0.94 0.94 0.94 0.93 1.12 257 LIST insert an item at start 1.00 0.98 0.99 0.98 0.99 0.98 0.95 0.96 0.97 0.98 0.98 0.97 0.96 0.96 0.95 0.94 0.94 0.94 0.94 0.94 0.94 258 LIST iterate list 1.00 0.84 0.80 0.80 0.80 0.80 0.80 0.91 0.91 1.89 2.02 1.82 1.69 1.69 1.69 1.71 1.68 1.68 1.68 1.60 219.24 259 LIST join list 1.00 1.00 0.80 0.80 0.80 0.80 0.80 0.80 0.80 0.81 0.81 0.81 0.81 0.81 0.81 0.81 0.81 0.81 0.81 0.50 1.07 260 LIST large, early range 1.00 1.06 1.00 1.00 0.94 0.89 0.83 0.83 0.89 0.83 0.83 0.83 0.72 0.72 0.72 0.78 0.72 0.78 0.72 0.61 6.72 261 LIST large, late range 1.00 1.00 0.95 0.89 0.89 0.84 0.74 0.74 0.79 0.74 0.79 0.74 0.68 0.68 0.68 0.68 0.68 0.68 0.68 0.53 6.95 262 LIST length, pure list 1.00 0.86 0.86 0.86 0.86 1.00 0.57 0.57 0.57 1.00 1.00 0.86 0.71 0.71 0.71 0.86 0.86 0.86 0.71 0.71 80.14 263 LIST list 1.00 1.00 0.84 0.89 0.84 0.84 0.84 0.89 0.89 1.11 1.16 1.11 1.05 1.00 1.05 1.00 1.05 1.05 1.00 0.89 2.95 264 LIST lset foreach l 1.00 1.12 0.97 0.93 1.08 1.06 1.04 0.98 1.01 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 265 LIST lset foreach list 1.00 1.12 0.98 0.93 1.09 1.07 1.05 0.98 1.01 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 266 LIST lset foreach ""s l 1.00 1.02 0.97 0.96 0.96 0.97 0.96 0.95 0.95 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 267 LIST lset foreach ""s list 1.00 1.02 0.97 0.96 0.95 0.96 0.95 0.94 0.95 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 =8.4 268 LIST regexp search, first item 1.00 1.00 0.86 0.91 0.86 0.86 0.73 0.73 0.73 0.82 0.77 0.73 0.73 0.73 0.73 0.73 0.73 0.73 0.77 0.32 20.50 269 LIST regexp search, last item 1.00 1.00 0.98 0.98 0.99 0.99 0.99 1.00 1.00 1.01 1.01 1.02 1.01 1.01 1.01 1.01 1.03 1.04 1.04 0.19 0.64 270 LIST regexp search, non-item 1.00 1.00 0.98 0.98 0.99 0.99 0.98 1.01 1.01 1.02 1.02 1.02 1.02 1.02 1.02 1.01 1.04 1.05 1.05 0.15 0.35 271 LIST remove first element 1.00 0.99 0.98 0.98 0.98 0.98 0.96 0.98 0.98 0.97 0.94 0.95 0.96 0.96 0.96 0.94 0.94 0.94 0.95 0.94 0.85 272 LIST remove in mixed list 1.00 1.01 1.03 0.99 0.99 0.99 0.98 0.99 0.99 0.99 0.99 1.00 8.36 8.45 8.35 8.33 8.33 8.33 8.28 0.94 1.02 273 LIST remove last element 1.00 0.98 0.98 0.98 0.98 0.96 0.95 0.97 0.98 0.94 0.94 0.96 0.97 0.95 0.95 0.94 0.95 0.94 0.95 0.94 1.36 274 LIST remove middle element 1.00 0.98 0.98 0.98 0.98 0.98 0.96 0.97 0.98 0.94 0.94 0.94 0.96 0.96 0.95 0.94 0.94 0.94 0.94 0.94 1.13 275 LIST replace first el with multiple 1.00 0.98 0.99 1.00 0.98 0.98 0.96 0.97 0.98 0.96 0.96 0.96 0.97 0.96 0.98 0.96 0.97 0.95 0.97 0.95 1.03 276 LIST replace first element 1.00 0.98 1.00 0.99 0.98 0.97 0.96 0.97 0.97 0.96 0.96 0.96 0.96 0.95 0.95 0.94 0.95 0.94 0.95 0.95 1.02 277 LIST replace in mixed list 1.00 1.00 1.00 0.98 0.99 0.99 0.98 0.98 0.98 0.98 0.99 0.99 8.56 8.64 8.54 8.54 8.54 8.54 8.49 0.93 1.08 278 LIST replace last el with multiple 1.00 0.97 0.98 0.98 0.98 0.96 0.94 0.95 0.95 0.96 0.96 0.96 0.95 0.95 0.95 0.94 0.94 0.94 0.94 0.93 3.18 279 LIST replace last element 1.00 0.97 0.98 0.99 0.98 0.99 0.95 0.96 0.97 0.97 0.97 0.96 0.95 0.95 0.95 0.95 0.95 0.95 0.95 0.94 3.15 280 LIST replace middle el with multiple 1.00 0.98 0.98 0.98 0.97 0.96 0.94 0.95 0.95 0.94 0.94 0.94 0.95 0.95 0.95 0.94 0.94 0.94 0.94 0.92 2.11 281 LIST replace middle element 1.00 0.97 0.98 0.98 0.98 0.97 0.95 0.97 0.97 0.96 0.96 0.96 0.96 0.96 0.95 0.95 0.96 0.96 0.96 0.95 2.15 282 LIST replace range 1.00 0.97 0.97 0.97 0.98 0.96 0.93 0.95 0.95 0.96 0.95 0.95 0.94 0.93 0.93 0.93 0.93 0.93 0.93 0.93 2.25 283 LIST small, early range 1.00 1.00 0.91 0.91 1.00 0.91 0.73 0.73 0.73 0.82 0.82 0.73 0.64 0.64 0.73 0.64 0.64 0.64 0.64 0.55 8.00 284 LIST small, late range 1.00 1.00 0.91 1.00 0.91 0.91 0.73 0.73 0.73 0.82 0.82 0.73 0.64 0.64 0.73 0.64 0.64 0.64 0.64 0.55 11.73 285 LIST sort 1.00 1.00 0.81 0.73 0.73 0.72 0.71 0.71 0.71 0.73 0.73 0.71 0.71 0.72 0.71 0.70 0.70 0.70 0.71 0.67 0.69 286 LIST sorted search, first item 1.00 0.92 0.75 0.75 0.75 0.83 0.67 0.58 0.58 0.50 0.58 0.50 0.42 0.42 0.42 0.50 0.50 0.50 0.42 0.42 37.50 287 LIST sorted search, last item 1.00 0.92 0.75 0.75 0.75 0.83 0.67 0.58 0.58 2.67 2.67 2.58 2.58 2.50 2.50 2.58 2.67 2.58 2.58 2.42 38.67 288 LIST sorted search, middle item 1.00 0.92 0.75 0.75 0.75 0.75 0.67 0.58 0.58 1.17 1.17 1.08 1.08 1.00 1.08 1.08 1.08 1.08 1.08 0.83 38.00 289 LIST sorted search, non-item 1.00 0.92 0.75 0.75 0.75 0.75 0.58 0.58 0.58 7.58 7.58 7.50 7.42 7.50 7.50 7.58 7.58 7.58 7.50 7.42 40.08 290 LIST sorted search, typed item 1.00 1.00 0.82 0.82 0.82 0.82 0.73 0.64 0.64 2.91 2.82 2.82 2.82 2.82 2.82 2.91 2.91 2.91 2.82 2.64 42.18 291 LIST typed sort 1.00 1.00 0.70 0.70 0.70 0.70 0.70 0.70 0.70 0.70 0.70 0.71 0.71 0.71 0.71 0.66 0.66 0.66 0.66 0.58 2.73 292 LOOP for (to 1000) 1.00 0.90 0.84 0.84 0.85 0.85 0.85 0.82 0.82 1.49 1.53 1.48 1.49 1.49 1.47 1.46 1.46 1.46 1.46 1.40 12.63 293 LOOP for, iterate list 1.00 0.91 0.85 0.86 0.86 0.86 0.87 0.90 0.86 1.69 1.83 1.64 1.59 1.56 1.56 1.55 1.56 1.55 1.55 1.46 107.57 294 LOOP for, iterate string 1.00 0.81 0.76 0.76 0.77 0.76 0.80 0.90 0.85 1.70 1.96 1.79 1.53 1.58 1.58 1.66 1.67 1.67 1.69 1.30 11.70 295 LOOP foreach, iterate list 1.00 0.99 0.88 0.88 0.88 0.87 0.87 0.87 0.87 1.29 1.34 1.29 1.27 1.28 1.27 1.29 1.29 1.29 1.28 1.22 3.77 296 LOOP foreach, iterate string 1.00 0.99 0.90 0.90 0.90 0.90 0.89 0.90 0.90 1.20 1.23 1.19 1.84 1.84 1.84 1.84 1.84 1.84 1.83 1.61 2.89 297 LOOP while (to 1000) 1.00 0.89 0.83 0.83 0.85 0.85 0.84 0.82 0.82 1.48 1.52 1.47 1.48 1.48 1.46 1.46 1.46 1.46 1.46 1.40 12.07 298 LOOP while 1 (to 1000) 1.00 0.90 0.84 0.84 0.85 0.85 0.83 0.82 0.82 1.62 1.65 1.61 1.63 1.63 1.61 1.60 1.60 1.60 1.60 1.48 14.64 299 MAP ([chars])-case regsub 1.00 0.99 0.98 0.98 0.98 0.99 0.99 0.95 0.94 0.98 0.98 0.96 0.96 0.96 0.95 0.96 0.96 0.97 0.97 0.19 0.30 300 MAP http mapReply 1.00 1.01 2.02 2.03 2.04 2.04 2.02 1.98 1.97 1.92 1.90 1.91 1.92 1.92 1.89 1.91 1.92 1.90 1.90 1.55 0.55 301 MAP regsub -nocase, no match 1.00 1.00 1.00 1.00 0.95 0.95 0.96 0.95 0.95 1.37 1.37 1.37 1.38 1.37 1.37 1.37 1.37 1.37 1.37 0.47 0.58 302 MAP regsub 1 val 1.00 1.01 1.02 1.02 1.03 1.03 1.02 0.40 0.40 3.61 3.60 3.58 3.62 3.62 3.57 3.57 3.59 3.56 3.54 0.43 0.82 303 MAP regsub 1 val -nocase 1.00 1.01 1.01 1.01 0.99 0.98 0.98 0.66 0.66 1.86 1.86 1.85 1.86 1.87 1.84 1.84 1.85 1.84 1.83 0.38 0.60 304 MAP regsub 2 val 1.00 1.00 1.01 1.01 1.02 1.02 1.02 0.40 0.40 6.06 6.05 6.03 6.04 6.07 6.00 6.03 6.02 5.99 5.99 0.48 0.82 305 MAP regsub 2 val -nocase 1.00 1.00 1.01 1.01 0.99 0.99 0.98 0.63 0.63 3.51 3.50 3.49 3.50 3.51 3.48 3.48 3.48 3.47 3.46 0.42 0.64 306 MAP regsub 3 val 1.00 1.01 1.02 1.01 1.02 1.03 1.02 0.37 0.37 5.84 5.82 5.80 5.83 5.84 5.78 5.80 5.79 5.77 5.76 0.46 0.76 307 MAP regsub 3 val -nocase 1.00 1.00 1.01 1.01 0.98 0.99 0.99 0.61 0.61 3.36 3.35 3.34 3.35 3.37 3.33 3.34 3.33 3.32 3.32 0.41 0.59 308 MAP regsub 4 val 1.00 1.00 1.00 1.00 1.00 1.00 1.01 0.37 0.37 5.70 5.68 5.66 5.69 5.70 5.64 5.66 5.64 5.64 5.63 0.44 0.73 309 MAP regsub 4 val -nocase 1.00 1.00 1.00 1.00 0.97 0.98 0.98 0.61 0.61 3.30 3.29 3.28 3.29 3.30 3.27 3.27 3.26 3.26 3.26 0.40 0.58 310 MAP regsub short 1.00 0.94 0.88 0.88 0.88 0.85 0.91 0.79 0.79 3.30 3.24 3.21 3.18 3.21 3.21 3.15 3.18 3.12 3.18 0.64 1.48 311 MAP regsub, no match 1.00 0.99 0.98 0.98 1.04 1.04 1.03 1.03 1.03 9.27 9.26 9.25 9.27 9.23 9.23 9.27 9.26 9.26 9.26 1.48 1.82 312 MAP string -nocase, no match 1.00 1.00 1.01 1.01 1.01 1.01 0.99 0.83 0.83 4.96 4.83 4.75 4.78 4.81 4.81 4.79 4.79 4.81 4.78 nomap nomap 313 MAP string 1 val 1.00 0.99 0.99 0.99 0.99 0.99 0.98 0.31 0.31 5.35 5.28 5.20 5.11 5.11 5.11 5.29 5.28 5.21 5.19 nomap nomap 314 MAP string 1 val -nocase 1.00 1.00 1.01 1.01 1.01 1.01 1.01 0.66 0.66 4.50 4.47 4.45 4.55 4.53 4.52 4.49 4.49 4.46 4.42 nomap nomap 315 MAP string 2 val 1.00 1.01 1.01 1.01 1.01 1.01 1.02 0.57 0.58 3.63 3.65 3.49 3.48 3.48 3.48 3.58 3.56 3.51 3.51 nomap nomap 316 MAP string 2 val -nocase 1.00 1.00 1.01 1.01 1.00 1.01 0.99 0.78 0.77 3.70 3.72 3.67 3.72 3.72 3.72 3.69 3.70 3.68 3.66 nomap nomap 317 MAP string 3 val 1.00 1.01 1.01 1.01 1.01 1.01 1.02 0.63 0.63 3.74 3.74 3.56 3.56 3.55 3.56 3.64 3.63 3.58 3.58 nomap nomap 318 MAP string 3 val -nocase 1.00 1.00 1.00 1.01 1.01 1.02 0.99 0.81 0.81 3.80 3.81 3.74 3.79 3.80 3.80 3.80 3.80 3.77 3.78 nomap nomap 319 MAP string 4 val 1.00 1.00 1.01 1.01 1.00 1.01 1.02 0.64 0.64 3.41 3.41 3.29 3.31 3.30 3.30 3.38 3.37 3.33 3.33 nomap nomap 320 MAP string 4 val -nocase 1.00 1.00 1.00 1.01 1.01 1.01 0.99 0.82 0.82 3.68 3.69 3.64 3.71 3.70 3.70 3.71 3.70 3.66 3.66 nomap nomap 321 MAP string short 1.00 0.96 0.96 0.96 0.92 0.92 0.92 0.79 0.79 0.92 0.92 0.88 0.88 0.83 0.88 0.88 0.83 0.83 0.92 nomap nomap 322 MAP string, no match 1.00 0.99 1.01 1.01 1.01 1.01 1.04 0.56 0.56 6.20 6.21 5.79 5.73 5.73 5.73 5.92 5.87 5.78 5.79 nomap nomap 323 MAP |-case regsub 1.00 0.98 0.97 0.97 0.97 0.97 0.94 0.93 0.93 0.94 0.93 0.91 0.90 0.91 0.90 0.91 0.90 0.90 0.92 0.29 0.43 324 MAP |-case strmap 1.00 0.95 1.00 0.95 0.95 0.91 0.95 0.82 0.86 1.18 1.18 1.09 1.14 1.09 1.09 1.14 1.09 1.09 1.18 nomap nomap 325 MATRIX mult 5x5 1.00 0.94 0.85 0.84 0.85 0.83 0.86 0.83 0.83 1.50 1.57 1.46 1.39 1.39 1.40 1.34 1.38 1.40 1.39 1.30 8.52 326 MATRIX mult 10x10 1.00 0.94 0.85 0.85 0.85 0.85 0.88 0.85 0.85 1.42 1.49 1.37 1.32 1.31 1.32 1.29 1.31 1.32 1.31 1.24 10.04 327 MATRIX mult 15x15 1.00 0.93 0.85 0.85 0.85 0.85 0.89 0.86 0.85 1.38 1.45 1.36 1.29 1.28 1.28 1.26 1.28 1.28 1.27 1.21 10.86 328 MATRIX transposition-0 1.00 0.96 0.82 0.83 0.79 0.76 0.81 0.95 0.85 2.38 2.60 2.31 2.29 2.12 2.04 2.10 2.15 2.21 2.19 1.83 7.14 329 MATRIX transposition-1 1.00 0.92 0.88 0.87 0.87 0.86 0.87 0.90 0.87 2.56 2.58 2.36 2.17 2.15 2.17 2.12 2.13 2.30 2.36 1.94 31.24 330 MD5 msg len 10 1.00 0.89 0.83 0.84 0.86 0.88 0.88 0.92 0.92 0.79 0.80 0.74 0.73 0.74 0.77 0.74 0.79 0.77 0.72 0.71 -=- 331 MD5 msg len 100 1.00 0.89 0.81 0.84 0.85 0.87 0.86 0.90 0.89 0.80 0.81 0.74 0.73 0.74 0.77 0.73 0.78 0.78 0.72 0.72 -=- 332 MD5 msg len 1000 1.00 0.88 0.80 0.83 0.84 0.86 0.83 0.87 0.86 0.81 0.83 0.75 0.74 0.74 0.78 0.73 0.78 0.79 0.71 0.73 -=- 333 MD5 msg len 10000 1.00 0.88 0.80 0.83 0.84 0.86 0.83 0.87 0.86 0.81 0.83 0.75 0.74 0.75 0.78 0.73 0.78 0.80 0.71 0.74 -=- 334 MD5-2 msg len 10 1.00 0.97 0.93 0.92 0.91 0.92 1.02 1.04 1.03 0.87 0.86 0.85 0.84 0.85 0.85 0.85 0.86 0.85 0.85 0.71 -=- 335 MD5-2 msg len 100 1.00 0.97 0.93 0.93 0.92 0.91 0.98 1.00 0.99 0.87 0.86 0.85 0.85 0.86 0.86 0.85 0.86 0.85 0.86 0.74 -=- 336 MD5-2 msg len 1000 1.00 0.96 0.94 0.93 0.92 0.92 0.94 0.94 0.94 0.87 0.86 0.86 0.88 0.88 0.88 0.87 0.87 0.87 0.87 0.77 -=- 337 MD5-2 msg len 10000 1.00 0.99 0.94 0.94 0.92 0.92 0.93 0.93 0.93 0.87 0.87 0.87 0.89 0.88 0.88 0.88 0.88 0.88 0.88 0.78 -=- 338 MTHD array stored proc call 1.00 1.00 0.86 0.86 0.86 0.86 0.57 0.71 0.86 0.71 0.71 0.57 0.57 0.57 0.57 0.57 0.71 0.57 0.57 0.57 -=- 339 MTHD call absolute 1.00 1.00 0.91 1.00 0.91 0.91 0.82 0.91 0.91 1.27 1.45 1.18 1.18 1.09 1.18 1.18 1.18 1.18 1.09 0.91 -=- 340 MTHD call relative 1.00 1.06 0.88 0.88 0.88 0.94 0.81 1.00 1.00 0.88 1.00 0.81 0.81 0.75 0.81 0.81 0.81 0.81 0.75 0.62 -=- 341 MTHD direct ns proc call 1.00 1.00 0.75 1.00 0.75 0.75 0.75 0.75 1.00 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.50 -=- 342 MTHD imported ns proc call 1.00 1.00 1.00 1.00 0.75 0.75 0.75 0.75 1.00 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.50 -=- 343 MTHD indirect proc eval 1.00 0.93 0.93 0.93 0.87 0.87 0.87 0.87 1.00 0.80 0.87 0.80 0.80 0.73 0.73 1.87 1.93 1.87 1.73 1.73 -=- 344 MTHD indirect proc eval #2 1.00 0.96 0.92 0.88 0.92 0.92 0.88 0.92 0.96 0.85 0.88 0.77 0.77 0.73 0.81 1.04 1.08 1.04 1.04 1.00 -=- 345 MTHD inline call 1.00 1.00 1.00 1.00 1.00 1.00 0.50 0.50 0.50 1.00 1.00 0.50 0.50 1.00 1.00 1.00 1.00 1.00 1.00 0.50 -=- 346 MTHD interp alias proc call 1.00 1.00 1.00 1.00 1.00 1.00 0.80 0.80 1.00 1.80 2.00 1.80 1.80 1.60 1.80 1.60 1.80 1.60 1.80 0.80 -=- 347 MTHD ns lookup call 1.00 0.98 0.90 0.90 0.90 0.90 0.86 0.90 0.90 0.84 0.88 0.84 0.80 0.80 0.80 1.24 1.26 1.26 1.22 0.98 -=- 348 MTHD switch method call 1.00 1.00 0.72 0.72 0.69 0.66 0.66 0.69 0.69 0.66 0.69 0.62 0.62 0.59 0.59 1.28 1.31 1.31 1.21 1.21 -=- 349 PARSE html form upload (7820) 1.00 1.03 1.07 1.02 0.99 1.01 1.00 1.07 1.10 1.38 1.14 1.11 1.09 1.03 1.02 1.25 1.22 1.21 1.21 0.95 -=- 350 PARSE html form upload (974068) 1.00 1.03 1.03 1.01 0.99 0.96 1.00 1.06 1.09 1.36 1.15 1.12 1.09 1.04 1.04 1.26 1.23 1.22 1.22 0.97 -=- 351 PROC do-nothing, no args 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.67 0.67 0.67 0.67 0.67 0.67 4.67 4.67 4.33 4.33 0.67 0.33 352 PROC do-nothing, one arg 1.00 1.00 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.50 0.75 0.75 0.75 0.75 0.50 0.75 353 PROC empty, no args 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 2.00 3.00 2.00 2.00 2.00 2.00 15.00 15.00 14.00 14.00 2.00 4.00 354 PROC empty, use args 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 4.00 5.00 4.00 4.00 4.00 4.00 3.00 4.00 4.00 3.00 3.00 5.00 355 PROC explicit return 1.00 0.75 0.75 1.00 0.75 0.75 0.75 0.75 0.75 1.00 1.00 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 1.25 356 PROC explicit return (2) 1.00 1.00 0.75 0.75 0.75 0.75 0.75 0.75 0.75 1.00 1.00 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 1.00 357 PROC explicit return (3) 1.00 1.00 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 1.00 0.75 1.00 0.75 0.75 0.75 0.75 0.75 0.75 0.75 1.00 358 PROC heavily commented 1.00 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.50 0.50 0.50 0.50 0.75 0.50 0.50 37.25 359 PROC implicit return 1.00 1.00 1.00 1.00 0.75 0.75 0.75 0.75 1.00 0.75 1.00 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.50 1.50 360 PROC implicit return (2) 1.00 1.00 0.75 1.00 0.75 0.75 0.75 0.75 1.00 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.50 1.00 361 PROC implicit return (3) 1.00 1.00 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.50 0.75 0.75 0.75 0.75 0.50 0.75 362 PROC local links with global 1.00 0.93 0.94 0.94 0.95 0.95 0.88 0.87 0.87 1.04 1.05 1.05 1.04 1.06 1.06 1.04 1.04 1.04 1.05 1.01 2.77 363 PROC local links with upvar 1.00 0.93 0.94 0.93 0.94 0.94 0.88 0.86 0.86 1.05 1.05 1.05 1.04 1.04 1.05 1.03 1.03 1.03 1.03 1.01 3.04 364 PROC local links with variable 1.00 0.94 0.94 0.93 0.93 0.94 0.90 0.89 0.89 1.05 1.05 1.01 1.02 1.02 1.01 1.00 1.00 0.99 1.00 0.54 3.12 365 RE 1-char long-end 1.00 0.98 0.99 0.98 0.98 0.98 0.93 0.93 0.93 0.95 0.94 0.94 0.93 0.93 0.93 0.94 0.94 0.94 0.94 6.83 7.02 366 RE 1-char long-end catching 1.00 0.94 0.95 0.95 0.94 0.94 0.91 0.90 0.91 1.03 1.03 1.02 1.00 1.00 1.01 1.02 1.02 1.03 1.02 4.87 5.09 367 RE 1-char long-middle 1.00 1.00 0.98 0.98 0.96 0.96 0.88 0.88 0.88 0.92 0.92 0.90 0.90 0.88 0.88 0.90 0.90 0.90 0.90 5.65 6.12 368 RE 1-char long-middle catching 1.00 0.99 0.99 0.98 0.96 0.96 0.91 0.92 0.93 1.11 1.11 1.09 1.07 1.07 1.07 1.08 1.09 1.11 1.09 3.74 4.06 369 RE 1-char long-start 1.00 0.89 0.95 0.89 0.89 0.89 0.68 0.68 0.68 0.79 0.74 0.74 0.68 0.68 0.68 0.74 0.74 0.74 0.74 0.47 1.79 370 RE 1-char long-start catching 1.00 0.98 0.98 0.98 0.96 0.94 0.86 0.86 0.88 1.18 1.18 1.16 1.12 1.12 1.12 1.16 1.14 1.16 1.16 0.65 1.18 371 RE 1-char short 1.00 0.89 0.95 0.89 0.89 0.89 0.68 0.68 0.68 0.79 0.74 0.74 0.68 0.68 0.68 0.74 0.68 0.68 0.74 0.47 0.63 372 RE 1-char short catching 1.00 0.98 1.00 0.98 0.96 0.94 0.86 0.86 0.88 1.20 1.18 1.18 1.12 1.12 1.12 1.14 1.14 1.18 1.16 0.63 0.65 373 RE basic 1.00 0.94 0.94 0.88 0.88 0.88 0.65 0.65 0.65 0.82 0.76 0.71 0.65 0.65 0.65 0.71 0.65 0.71 0.71 0.59 0.71 374 RE basic catching 1.00 0.98 1.00 0.96 0.95 0.95 0.85 0.87 0.85 1.15 1.16 1.15 1.09 1.11 1.11 1.11 1.11 1.16 1.18 0.58 0.60 375 RE c-comment long 1.00 0.99 0.98 0.98 0.97 0.98 0.92 0.93 0.92 0.95 0.95 0.93 0.93 0.93 0.93 0.93 0.92 0.97 0.98 0.82 1.07 376 RE c-comment long catching 1.00 1.00 1.00 0.99 0.99 0.99 0.97 0.97 0.97 1.04 1.04 1.05 1.03 1.04 1.04 1.05 1.05 1.05 1.05 0.48 0.70 377 RE c-comment long nomatch 1.00 0.99 0.99 0.98 0.98 0.97 0.94 0.95 0.96 0.97 0.96 0.96 0.95 0.96 0.95 0.95 0.95 0.98 0.98 0.09 0.36 378 RE c-comment long nomatch catching 1.00 1.00 0.99 0.99 0.99 0.98 0.95 0.96 0.96 0.98 0.97 0.96 0.96 0.96 0.96 0.96 0.96 0.99 0.99 0.11 0.41 379 RE c-comment long pmatch 1.00 0.99 0.99 0.99 0.99 0.99 0.95 0.96 0.96 0.98 0.98 0.97 0.96 0.97 0.97 0.96 0.96 0.99 0.99 3.41 3.67 380 RE c-comment long pmatch catching 1.00 1.00 0.99 0.99 0.98 0.98 0.96 0.97 0.96 0.97 0.97 0.96 0.97 0.96 0.96 0.97 0.96 0.99 0.99 3.39 3.68 381 RE c-comment many *s 1.00 0.99 0.99 0.99 0.99 0.99 0.95 0.96 0.97 0.98 0.97 0.96 0.96 0.96 0.97 0.96 0.96 0.99 0.99 0.88 1.14 382 RE c-comment many *s catching 1.00 1.00 1.00 1.00 0.99 0.99 0.98 0.98 0.98 1.03 1.03 1.02 1.02 1.02 1.02 1.02 1.02 1.03 1.03 0.46 0.72 383 RE c-comment nomatch 1.00 1.00 0.96 0.92 0.92 0.92 0.73 0.77 0.77 0.85 0.85 0.77 0.77 0.77 0.77 0.77 0.73 0.92 0.96 0.27 0.42 384 RE c-comment nomatch catching 1.00 0.97 0.93 0.90 0.90 0.86 0.72 0.76 0.72 0.79 0.83 0.76 0.76 0.72 0.72 0.76 0.76 0.90 0.90 0.34 0.62 385 RE c-comment simple 1.00 1.00 0.97 0.95 0.95 0.93 0.80 0.82 0.82 0.88 0.88 0.85 0.82 0.82 0.82 0.82 0.82 0.95 0.97 0.47 0.55 386 RE c-comment simple catching 1.00 0.99 0.99 1.00 0.98 0.99 0.95 0.96 0.95 1.09 1.09 1.07 1.07 1.07 1.07 1.07 1.08 1.10 1.10 0.33 0.35 387 RE count all matches 1.00 0.95 0.95 0.94 0.94 0.92 0.92 0.93 0.93 0.92 0.91 0.91 0.90 0.90 0.93 2.57 2.55 2.54 2.60 2.04 4.88 388 RE extract all matches 1.00 0.98 1.01 1.00 0.96 0.96 0.97 0.97 0.96 0.96 0.95 0.95 0.93 0.94 0.96 2.68 2.65 2.70 2.70 2.18 5.79 389 RE literal regexp 1.00 0.92 0.96 0.92 0.92 0.92 0.80 0.80 0.76 0.84 0.84 0.80 0.76 0.76 0.80 0.80 0.80 0.76 0.80 0.52 0.56 390 RE n-char long-end 1.00 0.98 0.99 0.98 0.98 0.98 0.93 0.93 0.93 0.95 0.94 0.94 0.93 0.93 0.93 0.94 0.93 0.93 0.93 7.54 7.84 391 RE n-char long-end catching 1.00 0.98 0.99 0.98 0.98 0.96 0.94 0.95 0.94 1.07 1.06 1.06 1.05 1.04 1.05 1.05 1.05 1.06 1.07 5.24 5.47 392 RE n-char long-middle 1.00 0.98 0.98 0.96 0.96 0.96 0.89 0.89 0.89 0.94 0.92 0.91 0.91 0.91 0.89 0.91 0.91 0.91 0.91 6.26 6.74 393 RE n-char long-middle catching 1.00 0.99 0.99 0.99 0.97 0.98 0.93 0.93 0.93 1.09 1.09 1.08 1.06 1.06 1.07 1.07 1.07 1.08 1.09 3.75 4.06 394 RE n-char long-start 1.00 0.95 1.00 0.95 0.95 0.95 0.74 0.74 0.68 0.84 0.79 0.79 0.74 0.74 0.74 0.74 0.74 0.74 0.74 0.47 1.79 395 RE n-char long-start catching 1.00 0.98 0.98 0.98 0.97 0.95 0.89 0.89 0.89 1.15 1.15 1.13 1.10 1.10 1.11 1.11 1.11 1.13 1.15 0.54 1.02 396 RE n-char short 1.00 0.95 0.95 0.95 0.95 0.95 0.74 0.74 0.74 0.84 0.79 0.74 0.74 0.74 0.74 0.79 0.74 0.74 0.74 0.47 0.63 397 RE n-char short catching 1.00 0.98 0.98 0.98 0.97 0.97 0.88 0.88 0.88 1.15 1.14 1.14 1.10 1.10 1.12 1.12 1.12 1.14 1.14 0.56 0.56 398 RE static anchored match 1.00 1.00 1.00 1.00 1.00 1.00 0.75 4.00 1.00 4.00 3.75 3.75 3.75 3.50 3.50 3.75 3.75 3.75 3.75 1.25 2.00 399 RE static anchored nomatch 1.00 1.00 1.00 1.00 1.00 1.00 0.75 2.00 1.00 2.00 1.75 1.75 1.75 1.75 1.75 1.75 1.75 1.75 1.75 1.25 1.75 400 RE static l-anchored match 1.00 0.80 0.80 0.80 0.80 0.80 0.80 2.40 2.40 2.40 2.20 2.20 2.20 2.00 2.00 2.20 2.20 2.20 2.20 1.00 1.60 401 RE static l-anchored nomatch 1.00 1.00 1.00 1.00 1.00 1.00 0.75 2.00 2.25 2.00 1.75 1.75 1.75 1.75 1.50 1.75 1.75 1.75 1.75 1.25 1.75 402 RE static long match 1.00 0.94 0.94 0.94 1.00 1.00 0.82 0.82 0.82 3.12 3.12 3.06 3.00 3.00 3.00 3.06 3.06 3.06 3.06 1.18 2.53 403 RE static long nomatch 1.00 0.96 0.96 0.96 0.96 1.00 0.87 0.87 0.87 3.74 3.70 3.70 3.65 3.65 3.65 3.65 3.65 3.65 3.65 0.96 1.96 404 RE static r-anchored match 1.00 1.00 0.80 0.80 0.80 0.80 0.80 3.00 3.00 2.80 2.80 2.80 2.80 2.60 2.60 2.60 2.80 2.60 2.80 1.00 1.60 405 RE static r-anchored nomatch 1.00 1.00 0.80 1.00 0.80 0.80 0.80 2.40 2.40 2.20 2.20 2.20 2.20 2.00 2.00 2.20 2.20 2.00 2.20 1.00 1.60 406 RE static short match 1.00 1.00 0.80 0.80 0.80 0.80 0.80 0.80 1.00 2.80 2.80 2.80 2.80 2.60 2.60 2.60 2.80 2.80 2.80 1.00 1.60 407 RE static short nomatch 1.00 0.80 0.80 0.80 0.80 0.80 0.80 0.80 0.80 1.80 1.80 1.80 1.80 1.60 1.60 1.60 1.80 1.80 1.80 0.80 1.20 408 RE var-based regexp 1.00 0.96 0.96 0.92 0.92 0.92 0.77 0.77 0.77 0.88 0.85 0.81 0.81 0.77 0.77 0.81 0.81 0.81 0.81 0.54 0.65 409 READ 595K, gets 1.00 1.00 0.95 0.97 0.97 0.95 0.97 1.10 1.13 1.73 1.46 1.45 1.44 1.36 1.32 1.38 1.38 1.40 1.39 0.73 1.21 410 READ 595K, read 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.27 1.27 1.37 1.36 1.36 1.36 1.36 1.36 1.36 1.36 1.36 1.36 3.99 4.34 411 READ 595K, read & size 1.00 1.02 1.00 1.00 1.00 1.00 1.00 1.27 1.27 1.36 1.36 1.36 1.36 1.36 1.36 1.36 1.36 1.36 1.36 0.60 4.34 412 READ 3050b, gets 1.00 1.00 0.95 0.97 0.97 0.95 0.97 1.07 1.10 1.66 1.44 1.44 1.39 1.32 1.28 1.35 1.36 1.38 1.37 0.75 1.22 413 READ 3050b, read 1.00 1.01 1.00 0.99 0.99 0.99 0.98 1.20 1.20 1.22 1.22 1.22 1.21 1.21 1.21 1.22 1.21 1.21 1.20 0.63 0.83 414 READ 3050b, read & size 1.00 1.01 1.00 0.99 0.99 0.99 0.98 1.19 1.18 1.20 1.20 1.19 1.19 1.18 1.18 1.19 1.18 1.18 1.18 0.62 0.83 415 READ bin 595K, gets 1.00 0.99 0.95 0.97 0.96 0.97 0.97 1.10 1.11 1.70 1.45 1.44 1.40 1.34 1.31 1.36 1.38 1.37 1.36 0.71 1.17 416 READ bin 595K, read 1.00 1.00 0.99 0.99 0.99 0.98 1.00 1.00 1.01 1.02 0.99 1.00 0.99 0.99 0.99 1.00 1.00 1.00 1.01 22.39 24.44 417 READ bin 595K, read & size 1.00 0.99 0.96 0.97 0.96 0.96 0.98 0.99 0.96 0.98 0.98 0.97 0.97 0.96 0.96 0.97 0.97 0.97 0.96 3.27 23.61 418 READ bin 3050b, gets 1.00 0.99 0.95 1.17 0.96 0.95 0.96 1.07 1.09 1.62 1.39 1.39 1.55 1.50 1.28 1.31 1.32 1.33 1.33 0.71 1.15 419 READ bin 3050b, read 1.00 1.00 1.00 1.00 1.00 1.00 0.98 0.97 0.97 0.99 0.99 0.99 0.97 0.99 0.95 0.93 0.93 0.93 0.93 1.81 2.25 420 READ bin 3050b, read & size 1.00 1.01 1.00 1.00 1.01 0.99 0.98 0.97 0.96 0.96 0.97 0.96 0.94 0.94 0.94 0.94 0.94 0.93 0.92 1.62 2.05 421 SHA sha1 msg len 10 1.00 0.94 0.88 0.87 0.89 0.87 0.92 0.93 0.92 0.98 0.98 0.97 0.93 0.92 0.92 0.90 0.91 0.92 0.91 0.95 -=- 422 SHA sha1 msg len 100 1.00 0.93 0.88 0.86 0.89 0.86 0.90 0.91 0.90 0.98 0.98 0.94 0.93 0.92 0.92 0.91 0.91 0.92 0.91 0.97 -=- 423 SHA sha1 msg len 1000 1.00 0.92 0.87 0.85 0.88 0.85 0.88 0.90 0.89 0.98 0.99 0.95 0.94 0.92 0.92 0.90 0.91 0.93 0.91 1.00 -=- 424 SHA sha1 msg len 10000 1.00 0.92 0.86 0.85 0.87 0.84 0.88 0.89 0.88 0.98 0.98 0.94 0.93 0.91 0.91 0.90 0.91 0.93 0.91 0.98 -=- 425 SHA sha1DF msg len 10 1.00 0.94 0.88 0.88 0.89 0.89 0.89 0.89 0.89 1.34 1.36 1.31 1.28 1.28 1.27 1.26 1.25 1.30 1.29 1.13 -=- 426 SHA sha1DF msg len 100 1.00 0.93 0.88 0.88 0.89 0.88 0.88 0.88 0.88 1.35 1.37 1.32 1.30 1.29 1.28 1.27 1.26 1.32 1.31 1.14 -=- 427 SHA sha1DF msg len 1000 1.00 0.93 0.88 0.87 0.89 0.88 0.88 0.88 0.89 1.38 1.39 1.34 1.32 1.32 1.31 1.29 1.28 1.34 1.33 1.17 -=- 428 SHA sha1DF msg len 10000 1.00 0.93 0.87 0.87 0.89 0.88 0.88 0.89 0.89 1.37 1.39 1.34 1.32 1.32 1.30 1.29 1.30 1.35 1.33 1.17 -=- 429 SPLIT iter, 4000 uchars 1.00 0.99 0.90 0.90 0.91 0.91 0.90 0.90 0.90 1.18 1.21 1.18 1.74 1.74 1.73 1.74 1.74 1.74 1.73 1.51 2.69 430 SPLIT iter, 4010 chars 1.00 0.99 0.90 0.90 0.91 0.91 0.90 0.91 0.91 1.19 1.22 1.19 1.76 1.74 1.74 1.75 1.75 1.75 1.73 1.53 2.77 431 SPLIT iter, rand 100 c 1.00 1.00 0.96 0.96 0.96 0.95 0.93 0.93 0.94 0.94 0.94 0.94 0.76 0.76 0.76 0.76 0.76 0.76 0.75 0.62 -=- 432 SPLIT iter, rand 1000 c 1.00 1.00 0.95 0.95 0.94 0.93 0.93 0.92 0.93 1.11 1.11 1.11 1.28 1.29 1.28 1.27 1.27 1.28 1.27 1.09 -=- 433 SPLIT iter, rand 10000 c 1.00 0.99 0.91 0.91 0.91 0.92 0.91 0.90 0.90 1.15 1.15 1.15 1.69 1.69 1.67 1.68 1.68 1.68 1.66 1.42 -=- 434 SPLIT on 'c', 4000 uchars 1.00 0.98 0.98 1.02 0.93 0.93 0.91 2.63 2.63 2.81 2.81 2.79 2.78 2.79 2.79 2.78 2.78 2.79 2.78 1.20 4.08 435 SPLIT on 'c', 4010 chars 1.00 0.98 1.00 1.02 0.94 0.93 0.91 2.57 2.58 2.76 2.75 2.74 2.71 2.72 2.72 2.71 2.71 2.71 2.70 1.23 4.04 436 SPLIT on 'cz', 4000 uchars 1.00 0.99 1.00 1.02 0.96 0.96 0.95 1.57 1.57 1.71 1.69 1.71 1.72 1.72 1.72 1.72 1.73 1.73 1.72 0.79 2.12 437 SPLIT on 'cz', 4010 chars 1.00 0.99 0.96 0.98 0.96 0.95 0.94 1.67 1.67 1.81 1.80 1.81 1.81 1.82 1.82 1.82 1.82 1.82 1.81 0.87 2.25 438 SPLIT on 'cû', 4000 uchars 1.00 0.99 1.00 1.02 0.98 0.97 0.97 1.12 1.12 1.22 1.20 1.22 1.23 1.24 1.24 1.24 1.24 1.24 1.23 0.51 1.36 439 SPLIT on 'cû', 4010 chars 1.00 0.99 1.00 1.01 0.98 0.98 0.97 1.21 1.21 1.28 1.27 1.28 1.31 1.32 1.32 1.31 1.31 1.31 1.31 0.42 1.30 440 SPLIT, 4000 uchars 1.00 1.00 1.00 1.00 1.00 1.00 0.99 1.02 1.02 0.89 0.92 0.89 2.73 2.73 2.72 2.73 2.72 2.72 2.68 2.11 0.91 441 SPLIT, 4010 chars 1.00 1.00 1.00 1.00 1.00 1.00 0.99 1.03 1.03 0.90 0.90 0.93 2.81 2.80 2.80 2.80 2.80 2.80 2.75 2.20 0.93 442 SPLIT, rand 100 c 1.00 0.99 1.02 1.01 0.99 0.99 0.96 0.97 0.98 0.75 0.76 0.74 0.51 0.51 0.51 0.52 0.52 0.52 0.51 0.36 -=- 443 SPLIT, rand 1000 c 1.00 1.00 1.04 1.05 1.02 1.02 1.02 0.98 1.00 0.95 0.95 0.94 1.25 1.25 1.24 1.24 1.24 1.24 1.23 0.92 -=- 444 SPLIT, rand 10000 c 1.00 1.00 1.00 1.01 1.00 1.00 1.00 0.98 0.97 0.87 0.87 0.87 2.41 2.39 2.37 2.40 2.42 2.34 2.35 1.75 -=- 445 STR append 1.00 0.99 0.96 0.91 0.92 0.99 0.90 0.72 0.72 0.64 0.63 0.64 0.60 0.60 0.59 0.62 0.62 0.62 0.59 0.50 2.10 446 STR append (1KB + 1KB) 1.00 0.96 0.92 0.96 0.96 0.92 0.71 0.79 0.79 1.33 1.33 1.33 1.21 1.21 1.25 1.21 1.25 1.21 1.17 0.88 4.46 447 STR append (1MB + (1b + 1K + 1b) * 100) 1.00 0.99 0.98 0.97 0.98 0.99 0.97 0.98 0.97 1.94 1.95 1.95 1.94 1.94 1.94 1.93 1.94 1.94 1.94 1.92 12.56 448 STR append (1MB + 1KB * 20) 1.00 1.01 1.02 1.01 1.02 1.01 1.01 1.01 1.00 2.13 2.14 2.15 2.13 2.13 2.14 2.14 2.14 2.14 2.14 2.12 14.29 449 STR append (1MB + 1KB * 1000) 1.00 0.98 0.96 0.96 0.97 0.97 0.96 0.97 0.96 1.68 1.66 1.66 1.63 1.63 1.64 1.63 1.65 1.66 1.66 1.65 9.20 450 STR append (1MB + 1KB) 1.00 1.01 1.00 1.00 1.01 1.00 0.99 1.00 1.00 2.15 2.14 2.15 2.15 2.13 2.15 2.14 2.14 2.14 2.14 2.13 14.35 451 STR append (1MB + 1MB * 3) 1.00 1.00 1.00 1.00 1.01 0.99 1.00 1.00 0.99 1.24 1.24 1.24 1.24 1.25 1.24 1.24 1.24 1.25 1.25 1.24 9.40 452 STR append (1MB + 1MB * 5) 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.01 1.00 2.00 2.00 2.00 2.00 2.00 2.00 2.00 2.00 2.00 1.99 2.00 9.70 453 STR append (1MB + 2b * 1000) 1.00 0.96 0.96 0.95 0.96 0.95 0.95 0.95 0.95 2.14 2.15 2.14 2.09 2.09 2.09 2.09 2.13 2.14 2.14 2.11 12.24 454 STR append (10KB + 1KB) 1.00 0.98 0.96 0.95 0.95 0.64 0.90 0.90 0.89 1.09 1.09 1.09 1.06 1.05 1.04 1.05 1.06 1.06 1.05 0.96 5.25 455 STR first (failure) 1.00 1.00 0.49 0.49 0.49 0.49 0.45 0.96 0.96 0.39 0.39 0.39 0.39 0.38 0.38 0.39 0.39 0.39 0.38 0.38 1.63 456 STR first (failure) utf 1.00 1.00 0.49 0.49 0.49 0.49 0.45 0.96 0.96 1.50 1.49 1.49 1.49 1.49 1.49 1.49 1.49 1.52 1.49 0.38 1.64 457 STR first (success) 1.00 1.00 0.80 0.80 0.90 0.90 0.60 0.70 0.70 0.90 0.90 0.80 0.70 0.70 0.70 0.80 0.80 0.80 0.80 0.50 8.90 458 STR first (success) utf 1.00 1.00 0.80 0.80 0.90 0.90 0.60 0.70 0.70 1.00 1.00 1.00 0.90 0.90 0.90 1.00 1.00 0.90 0.90 0.50 9.00 459 STR first (total failure) 1.00 1.00 0.41 0.43 0.43 0.43 0.39 0.96 0.96 0.21 0.20 0.20 0.20 0.19 0.20 0.20 0.20 0.20 0.20 0.19 1.65 460 STR first (total failure) utf 1.00 1.00 0.41 0.41 0.43 0.43 0.39 0.96 0.96 0.23 0.23 0.23 0.21 0.21 0.21 0.21 0.23 0.21 0.21 0.19 1.67 461 STR index 0 1.00 0.90 0.90 1.00 0.90 0.90 0.60 0.70 0.70 0.90 1.00 0.90 0.80 0.80 0.90 0.90 0.80 0.80 0.80 0.60 9.20 462 STR index 100 1.00 0.90 0.90 1.00 0.90 0.90 0.60 0.70 0.70 0.90 1.00 0.90 0.80 0.80 0.90 0.90 0.90 0.80 0.80 0.60 9.20 463 STR index 500 1.00 0.90 0.90 0.90 0.90 0.90 0.60 0.60 0.70 0.90 1.00 0.90 0.80 0.90 0.90 0.90 0.90 0.80 0.80 0.60 9.20 464 STR info locals match 1.00 0.96 0.94 0.95 0.95 0.95 0.95 1.06 1.06 1.17 1.17 1.18 1.18 1.23 1.24 1.16 1.16 1.16 1.17 1.00 3.33 465 STR last (failure) 1.00 1.00 0.97 0.97 0.99 0.97 0.91 0.91 0.91 0.91 0.91 0.90 0.79 0.79 0.79 0.81 0.81 0.81 0.81 0.60 1.78 466 STR last (success) 1.00 1.00 0.89 0.89 1.00 1.00 0.67 0.67 0.67 19.11 19.11 19.00 19.00 19.00 19.00 19.00 19.11 19.00 19.00 0.56 15.78 467 STR last (total failure) 1.00 0.98 0.98 1.00 1.00 1.00 0.92 0.92 0.92 0.94 0.94 0.92 0.79 0.81 0.79 0.81 0.81 0.81 0.81 0.53 2.02 468 STR length (==4010) 1.00 0.86 0.86 0.86 0.86 0.86 0.57 0.57 0.57 0.86 0.86 0.86 0.71 0.71 0.71 0.71 0.86 0.71 0.71 0.57 13.14 469 STR length growing (1000) 1.00 0.75 0.74 0.74 0.74 0.73 0.74 0.73 0.73 1.85 1.93 1.73 1.60 1.58 1.58 1.59 1.68 1.65 1.74 1.61 6.11 470 STR length growing uc (1000) 1.00 0.76 0.75 0.75 0.73 0.74 0.74 0.73 0.73 1.88 1.95 1.74 1.61 1.59 1.60 1.60 1.69 1.67 1.75 1.63 6.37 471 STR length of a LIST 1.00 0.86 0.71 0.71 0.86 0.86 0.57 0.57 0.57 0.86 0.86 0.71 0.71 0.71 0.71 0.71 0.71 0.71 0.71 0.57 12.86 472 STR length static str 1.00 1.00 0.75 1.00 0.75 0.75 0.75 0.75 0.75 1.50 1.50 1.50 1.25 1.50 1.25 1.25 1.50 1.50 1.25 1.25 4.50 473 STR match, complex (failure 2) 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.99 10.53 10.53 10.53 10.53 10.52 10.52 10.56 10.56 10.56 10.55 4.12 4.13 474 STR match, complex (failure) 1.00 0.99 0.99 0.99 0.99 1.00 0.97 0.95 0.95 9.38 9.38 9.38 9.37 9.38 9.38 9.37 9.37 9.37 9.37 3.70 4.74 475 STR match, complex (success early) 1.00 1.00 1.00 0.88 1.00 1.00 0.62 0.62 0.75 1.62 1.62 1.62 1.50 1.50 1.50 1.50 1.50 1.50 1.50 0.88 10.62 476 STR match, complex (success late) 1.00 0.99 0.98 0.98 0.99 0.99 0.97 0.95 0.95 7.35 7.35 7.35 7.34 7.35 7.35 7.34 7.35 7.34 7.34 2.88 3.68 477 STR match, complex (total failure) 1.00 1.00 0.98 0.98 1.00 1.00 0.94 0.92 0.91 13.21 13.17 13.21 13.15 13.13 13.13 13.15 13.17 13.15 13.15 5.21 6.70 478 STR match, exact (failure) 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.75 1.50 479 STR match, exact (success) 1.00 1.00 1.00 1.00 1.00 1.00 0.75 0.75 1.00 1.50 1.50 1.50 1.25 1.25 1.25 1.25 1.25 1.25 1.25 0.75 1.50 480 STR match, exact -nocase (failure) 1.00 0.80 0.80 0.80 0.80 0.80 0.80 0.80 1.00 1.00 1.00 1.00 0.80 0.80 0.80 0.80 1.00 0.80 0.80 1.00 1.80 481 STR match, exact -nocase (success) 1.00 1.00 1.00 1.00 0.86 0.86 0.86 1.00 1.14 1.14 1.14 1.14 1.14 1.00 1.00 1.00 1.14 1.00 1.14 0.86 1.43 482 STR match, simple (failure) 1.00 0.80 0.80 0.80 0.80 0.80 0.80 0.80 0.80 0.80 0.80 1.00 0.80 0.80 0.80 0.80 0.80 0.80 0.80 0.60 1.60 483 STR match, simple (success) 1.00 0.80 0.80 0.80 0.80 0.80 0.80 0.80 1.00 1.00 1.00 1.00 0.80 0.80 0.80 0.80 0.80 0.80 0.80 0.60 1.60 484 STR range, index 100..200 of 4010 1.00 1.08 0.92 0.92 0.92 0.92 0.69 0.77 0.77 0.77 0.85 0.77 0.77 0.69 0.77 0.69 0.69 0.77 0.69 0.46 7.46 485 STR repeat, 4010 chars * 10 1.00 1.01 1.00 1.00 1.04 1.03 0.99 0.99 1.00 0.99 1.00 1.92 1.90 1.88 1.88 1.92 1.92 1.90 1.91 2.23 10.64 486 STR repeat, 4010 chars * 100 1.00 1.00 0.98 0.99 1.00 0.98 0.99 1.00 0.99 1.01 0.99 1.82 1.86 1.84 1.86 1.83 1.80 1.85 1.83 2.04 6.02 487 STR repeat, abcdefghij * 10 1.00 0.89 0.89 0.89 0.89 0.89 0.89 0.89 0.89 0.89 0.89 1.22 1.22 1.11 1.22 1.11 1.11 1.11 1.11 4.22 18.11 488 STR repeat, abcdefghij * 100 1.00 0.94 1.00 0.94 0.94 0.94 0.94 0.94 0.94 0.88 0.88 2.35 2.35 2.29 2.35 2.29 2.24 2.24 2.24 18.18 82.24 489 STR repeat, abcdefghij * 1000 1.00 1.09 1.05 1.00 1.00 1.05 1.00 1.00 1.00 0.97 0.97 3.11 3.15 3.19 3.20 3.12 3.11 3.11 3.07 31.40 146.06 490 STR replace, equal replacement 1.00 0.98 1.00 0.98 0.98 0.98 0.83 0.86 0.86 4.71 4.71 4.74 4.74 4.71 4.71 4.64 4.62 4.64 4.64 0.71 5.00 491 STR replace, longer replacement 1.00 0.98 0.93 0.93 0.98 0.95 0.84 0.93 0.95 4.58 4.60 4.63 4.63 4.60 4.60 4.56 4.53 4.58 4.56 0.70 4.88 492 STR replace, no replacement 1.00 1.00 0.93 0.93 0.95 0.93 0.80 0.82 0.82 4.90 4.92 4.95 4.88 4.85 4.85 4.85 4.85 4.88 4.88 0.72 5.22 493 STR reverse iter/append, 10 c 1.00 0.87 0.83 0.87 0.81 0.81 0.72 0.81 0.81 1.60 1.72 1.60 1.66 1.53 1.51 1.45 1.60 1.60 1.53 1.19 3.66 494 STR reverse iter/append, 10 uc 1.00 0.91 0.87 0.89 0.83 0.85 0.74 0.81 0.81 1.57 1.72 1.57 1.64 1.53 1.51 1.43 1.57 1.57 1.53 1.21 3.66 495 STR reverse iter/append, 100 c 1.00 0.86 0.84 0.88 0.79 0.78 0.76 0.88 0.89 2.03 2.19 2.02 2.11 1.96 1.87 1.75 1.98 2.02 1.96 1.51 5.29 496 STR reverse iter/append, 100 uc 1.00 0.91 0.88 0.92 0.83 0.83 0.82 0.85 0.87 1.95 2.19 2.00 2.11 1.93 1.84 1.72 1.94 1.97 1.94 1.51 5.26 497 STR reverse iter/append, 400 c 1.00 0.87 0.84 0.87 0.78 0.78 0.77 0.88 0.90 2.10 2.29 2.10 2.18 2.04 1.94 1.80 2.05 2.09 2.03 1.57 7.41 498 STR reverse iter/append, 400 uc 1.00 0.91 0.90 0.92 0.82 0.82 0.83 0.87 0.89 2.07 2.29 2.07 2.16 2.01 1.91 1.77 2.02 2.04 2.02 1.56 7.41 499 STR reverse iter/set, 10 c 1.00 0.89 0.87 0.89 0.84 0.84 0.80 0.89 0.89 1.24 1.36 1.29 1.20 1.20 1.20 1.31 1.29 1.24 1.27 0.91 3.93 500 STR reverse iter/set, 10 uc 1.00 0.91 0.87 0.89 0.87 0.87 0.80 0.85 0.85 1.22 1.33 1.24 1.15 1.17 1.15 1.28 1.26 1.22 1.22 0.89 3.83 501 STR reverse iter/set, 100 c 1.00 0.90 0.87 0.87 0.86 0.87 0.84 0.96 0.95 1.32 1.45 1.41 1.26 1.26 1.27 1.36 1.34 1.29 1.34 0.97 4.46 502 STR reverse iter/set, 100 uc 1.00 0.92 0.89 0.89 0.87 0.89 0.84 0.90 0.89 1.22 1.38 1.25 1.16 1.17 1.18 1.28 1.26 1.23 1.25 0.90 4.12 503 STR reverse iter/set, 400 c 1.00 0.92 0.89 0.90 0.91 0.89 0.89 0.99 0.95 1.27 1.44 1.39 1.22 1.23 1.24 1.34 1.32 1.28 1.31 0.99 5.74 504 STR reverse iter/set, 400 uc 1.00 0.91 0.90 0.90 0.94 0.95 0.91 0.96 0.93 1.23 1.38 1.26 1.17 1.22 1.26 1.31 1.28 1.25 1.28 0.96 5.46 505 STR reverse recursive, 10 c 1.00 0.88 0.84 0.85 0.83 0.80 0.82 0.92 0.91 1.09 1.12 0.97 0.94 0.94 0.91 0.94 0.95 0.93 0.92 0.68 2.42 506 STR reverse recursive, 10 uc 1.00 0.94 0.89 0.90 0.87 0.84 0.86 0.94 0.95 1.17 1.22 1.04 1.01 1.01 0.98 1.02 1.02 1.00 0.99 0.73 2.60 507 STR reverse recursive, 100 c 1.00 0.90 0.88 0.88 0.86 0.84 0.85 0.97 0.98 1.16 1.19 1.05 0.98 0.99 0.97 1.01 1.01 0.97 0.99 0.74 2.37 508 STR reverse recursive, 100 uc 1.00 0.93 0.88 0.88 0.87 0.84 0.85 0.95 0.96 1.80 1.84 1.69 1.61 1.61 1.62 1.62 1.63 1.59 1.60 0.78 2.48 509 STR reverse recursive, 400 c 1.00 0.90 0.85 0.85 0.82 0.80 0.80 0.92 0.96 1.12 1.15 1.01 0.95 0.97 0.96 0.98 0.98 0.95 0.94 0.76 8.0+ 510 STR reverse recursive, 400 uc 1.00 0.95 0.87 0.87 0.87 0.83 0.85 1.08 1.13 3.26 3.34 3.21 3.11 3.12 3.15 3.12 3.10 3.09 3.09 0.71 8.0+ 511 STR str $a eq $b 1.00 0.91 0.82 0.82 0.91 0.91 0.64 0.64 0.64 1.36 1.45 1.36 1.18 1.18 1.27 1.36 1.36 1.27 2.00 1.18 4.55 512 STR str $a eq $b (same obj) 1.00 0.91 0.82 0.82 0.91 0.91 0.64 0.64 0.64 1.45 1.45 1.45 1.18 1.18 1.27 1.45 1.36 1.27 2.00 1.18 4.45 513 STR str $a equal "" 1.00 0.86 0.86 0.86 0.86 0.86 0.86 0.86 0.86 1.57 1.57 1.71 1.43 1.43 1.43 1.57 1.43 1.43 2.43 1.14 9.57 514 STR str $a ne $b 1.00 1.00 0.91 0.91 0.91 1.00 0.64 0.64 0.64 1.45 1.55 1.45 1.27 1.18 1.36 1.36 1.36 1.36 2.09 1.18 4.18 515 STR str $a ne $b (same obj) 1.00 0.90 0.90 0.90 0.90 1.00 0.60 0.60 0.70 1.60 1.60 1.60 1.30 1.30 1.50 1.40 1.50 1.40 2.10 1.20 4.60 516 STR str num == "" 1.00 0.88 0.88 0.88 0.88 0.75 0.75 0.75 0.75 0.88 1.00 0.88 0.88 0.88 1.12 1.12 1.12 1.12 1.12 1.00 8.38 517 STR string compare 1.00 1.00 0.90 0.90 1.00 1.00 0.70 0.70 0.70 1.30 1.30 1.20 1.10 1.00 1.10 1.10 1.20 1.10 1.10 1.00 1.80 518 STR string compare "" 1.00 0.89 0.89 0.89 0.89 0.89 0.89 0.78 0.89 1.22 1.22 1.22 1.11 1.11 1.11 1.22 1.22 1.11 1.11 1.11 4.33 519 STR string compare long 1.00 0.98 0.98 0.98 0.98 0.98 0.95 1.00 1.00 1.00 1.00 1.00 0.98 0.98 0.98 0.99 1.00 1.05 0.99 0.98 3.47 520 STR string compare long (same obj) 1.00 0.90 0.80 0.80 0.90 0.90 0.60 0.60 0.60 13.00 13.10 13.10 12.90 12.80 12.90 12.90 13.00 12.90 12.90 12.70 45.10 521 STR string compare mixed long 1.00 1.00 0.99 0.99 0.99 1.01 0.96 0.96 0.97 1.03 1.04 1.02 1.01 1.01 1.01 1.01 1.01 1.00 1.01 0.98 3.21 522 STR string compare uni long 1.00 0.99 0.99 0.99 0.99 0.99 0.96 0.96 0.96 1.10 1.12 1.12 1.09 1.08 1.08 1.10 1.10 1.10 1.10 0.94 3.32 523 STR string equal "" 1.00 0.89 0.78 0.89 0.78 0.78 0.78 0.78 0.78 1.22 1.22 1.33 1.11 1.11 1.11 1.22 1.11 1.11 1.89 1.11 4.22 524 STR string equal long (!= len) 1.00 1.04 0.92 0.96 1.00 0.92 0.83 0.75 0.75 6.29 6.33 6.29 6.17 6.17 6.21 6.29 6.25 6.21 6.67 6.08 23.08 525 STR string equal long (== len) 1.00 0.99 0.98 0.98 0.98 0.98 0.95 0.95 0.95 1.02 1.03 1.03 1.01 1.01 1.02 1.02 1.02 1.02 1.09 1.01 4.25 526 STR string equal long (same obj) 1.00 0.91 0.91 0.82 0.91 0.91 0.64 0.64 0.64 12.09 12.18 12.18 11.91 11.91 12.00 12.09 12.09 12.00 12.73 11.91 50.45 527 STR string equal mixed long 1.00 0.91 0.82 0.82 0.91 0.91 0.64 0.64 0.64 12.18 12.27 12.27 11.91 12.00 12.09 12.18 12.18 12.09 13.00 11.91 50.91 528 STR string equal uni long 1.00 0.99 0.99 0.99 0.99 0.99 0.97 0.97 0.97 1.03 1.05 1.05 1.02 1.03 1.03 1.04 1.04 1.03 1.10 0.89 3.56 529 STR/LIST length, obj shimmer 1.00 1.00 1.00 1.01 1.07 1.00 1.00 1.12 1.14 1.13 1.15 1.13 1.12 1.13 1.12 1.12 1.12 1.12 1.12 0.01 0.53 530 SWITCH 1st true 1.00 0.86 2.57 2.57 3.57 2.57 2.86 2.71 2.86 2.14 2.29 1.86 1.86 1.71 1.86 1.71 2.00 2.00 1.86 1.57 7.29 531 SWITCH 2nd true 1.00 0.88 2.25 2.25 2.25 2.25 2.50 2.50 2.50 1.88 2.00 1.62 1.62 1.62 1.62 1.50 1.88 1.75 1.62 1.50 6.50 532 SWITCH 9th true 1.00 0.93 1.43 1.43 1.43 1.43 1.57 1.57 1.64 1.29 1.36 1.14 1.14 1.07 1.14 1.07 1.21 1.21 1.07 1.00 3.79 533 SWITCH default true 1.00 0.92 1.62 1.62 1.62 1.62 1.77 1.69 1.77 1.38 1.46 1.23 1.23 1.23 1.23 1.15 1.38 1.31 1.23 1.15 4.08 534 TRACE all set (rwu) 1.00 0.95 0.95 0.95 0.95 0.89 0.89 0.95 0.95 0.74 0.79 0.68 0.63 0.58 0.63 0.63 0.63 0.63 0.68 0.58 1.05 535 TRACE no trace set 1.00 1.00 0.95 0.95 0.95 0.89 0.89 0.95 0.95 0.74 0.79 0.68 0.63 0.63 0.63 0.63 0.63 0.63 0.68 0.58 1.05 536 TRACE read 1.00 1.00 0.95 0.95 0.95 0.89 0.89 0.95 0.95 0.74 0.79 0.68 0.63 0.58 0.63 0.63 0.63 0.63 0.68 0.58 1.05 537 TRACE unset 1.00 0.95 0.95 0.95 0.95 0.89 0.89 0.95 0.95 0.74 0.79 0.68 0.58 0.58 0.63 0.63 0.63 0.63 0.68 0.58 1.05 538 TRACE write 1.00 1.00 0.95 0.95 0.95 0.89 0.89 0.95 0.95 0.74 0.79 0.68 0.58 0.63 0.63 0.63 0.63 0.63 0.68 0.58 1.05 539 UNSET catch var !exist 1.00 1.00 1.12 1.09 1.12 1.09 0.88 0.88 0.88 0.91 0.94 0.91 0.88 0.88 0.88 0.91 0.88 0.88 0.88 0.76 0.56 540 UNSET catch var exists 1.00 1.00 1.00 1.00 0.83 0.83 0.83 0.83 0.83 0.83 0.83 0.83 0.67 0.67 0.83 0.67 0.67 0.83 0.67 0.67 1.83 541 UNSET info check var !exist 1.00 1.00 0.75 0.75 0.75 0.75 0.88 0.75 0.75 0.62 0.75 0.62 0.50 0.62 0.62 0.62 0.62 0.62 0.50 0.50 1.50 542 UNSET info check var exists 1.00 1.00 0.90 0.90 0.80 0.80 0.90 0.80 0.80 0.70 0.80 0.60 0.60 0.60 0.70 0.60 0.60 0.60 0.60 0.60 1.30 543 UNSET nocomplain var !exist 1.00 1.00 1.00 1.00 0.83 1.00 0.83 1.00 1.00 5.17 5.17 5.17 4.83 4.83 5.00 5.17 5.17 5.00 5.00 4.50 3.33 544 UNSET nocomplain var exists 1.00 1.00 1.00 1.00 0.83 0.83 0.83 0.83 0.83 0.83 0.83 0.83 0.67 0.67 0.83 0.67 0.67 0.83 0.67 0.67 1.83 545 UNSET var exists 1.00 0.83 0.83 1.00 0.83 0.83 0.83 0.83 0.83 0.83 0.83 0.83 0.67 0.67 0.67 0.67 0.67 0.67 0.67 0.67 1.00 546 VAR 'array set' of 100 elems 1.00 1.00 0.96 0.94 0.94 0.96 0.96 0.97 0.97 1.42 1.46 1.39 1.38 1.44 1.41 1.39 1.39 1.39 1.41 1.18 2.49 547 VAR 100 'set's in array 1.00 0.91 0.88 0.89 0.91 0.92 0.87 0.87 0.87 0.86 0.88 0.82 0.85 0.85 0.85 0.86 0.85 0.86 0.85 0.84 2.64 548 VAR access global 1.00 0.91 0.82 0.82 0.82 0.91 0.64 0.64 0.64 1.27 1.27 1.09 1.09 1.00 1.09 1.18 1.09 1.09 1.09 0.91 1.55 549 VAR access local proc arg 1.00 0.83 0.83 0.83 0.67 0.83 0.83 0.67 0.83 0.67 0.83 0.83 0.67 0.67 0.67 0.67 0.67 0.67 0.67 0.67 2.33 550 VAR access locally set 1.00 0.83 0.83 0.83 0.83 0.83 0.83 0.83 0.83 0.83 0.83 0.83 0.67 0.67 0.67 0.67 0.67 0.67 0.67 0.67 2.33 551 VAR access upvar 1.00 0.92 0.85 0.92 0.85 0.85 0.69 0.69 0.69 1.23 1.31 1.15 1.00 1.08 1.15 1.15 1.15 1.15 1.08 0.92 1.46 552 VAR mset 1.00 0.92 0.83 0.83 0.83 0.83 0.83 0.83 0.83 1.25 1.25 1.17 1.08 1.08 1.17 1.08 1.08 1.08 1.08 1.00 4.50 553 VAR mset (foreach) 1.00 0.78 0.67 0.78 0.67 0.67 0.67 0.67 0.67 0.78 0.78 0.67 0.67 0.67 0.67 0.67 0.67 0.67 0.67 0.56 2.67 554 VAR ref absolute 1.00 1.14 0.90 0.90 1.10 1.14 0.24 0.23 0.23 1.23 1.34 1.40 1.24 1.24 1.24 1.25 1.28 1.30 1.34 1.07 8.0+ 555 VAR ref local 1.00 0.93 0.83 0.85 0.85 0.85 0.85 0.83 0.85 1.54 1.59 1.51 1.51 1.49 1.46 1.46 1.49 1.49 1.49 1.39 8.0+ 556 VAR ref variable 1.00 0.94 0.85 0.85 0.90 0.90 0.83 0.81 0.81 3.12 3.19 3.21 3.12 3.10 3.08 3.08 3.19 3.10 3.06 2.79 8.0+ 557 VAR set array element 1.00 0.82 0.82 0.82 0.82 0.91 0.64 0.64 0.64 0.55 0.64 0.55 0.45 0.45 0.55 0.55 0.45 0.55 0.55 0.45 0.73 558 VAR set scalar 1.00 1.00 1.00 1.00 1.00 1.00 0.75 0.75 1.00 0.75 1.00 0.75 0.75 0.75 0.75 0.75 0.75 2.25 0.75 0.50 1.50 559 WORDCOUNT wc1 1.00 0.98 0.98 0.99 1.00 0.97 0.97 1.01 1.00 1.11 1.06 1.03 1.04 1.03 1.02 1.02 1.03 1.03 1.03 0.39 0.62 560 WORDCOUNT wc2 1.00 0.95 0.98 0.99 0.96 0.94 0.95 1.29 1.29 2.63 2.67 2.53 2.52 2.55 2.51 2.60 2.57 2.57 2.56 0.99 1.39 561 WORDCOUNT wc3 1.00 1.02 1.00 1.00 1.01 0.99 1.00 1.38 1.41 2.90 2.90 2.80 2.77 2.80 2.79 2.82 2.85 2.79 2.79 1.07 1.20 561 BENCHMARKS 1:8.5a2 2:8.5a1 3:8.4.6 4:8.4.5 5:8.4.4 6:8.4.3 7:8.4.2 8:8.4.1 9:8.4.0 10:8.3.5 11:8.3.4 12:8.3.3 13:8.3.2 14:8.3.1 15:8.3.0 16:8.2.3 17:8.2.2 18:8.2.1 19:8.2.0 20:8.0.5 21:7.6p2 FINISHED 2004-04-01 20:13:33
DKF: Analysing the full figures in more depth (and renormalising to the fastest), I get this:
1: 1.15082802812 1.23341787987 2: 1.09998235185 1.23163902282 3: 1.05600802677 1.12412910892 4: 1.06150263877 1.12592227051 5: 1.05123817408 1.13500436061 6: 1.04476335883 1.14269183726 7: 1.0 1.0 8: 1.04886525622 1.35734762501 9: 1.05408328703 1.34671822227 10: 1.44037271893 1.88860831238 11: 1.46027911608 1.88600854071 12: 1.40709764408 1.90287335346 13: 1.41140657839 1.93657053281 14: 1.3998555601 1.93426316374 15: 1.40122577477 1.9348944294 16: 1.49817869952 2.01380240623 17: 1.51262660676 2.01266992656 18: 1.52154290998 2.00776790598 19: 1.49820642476 2.04474956383 20: 1.10747403901 2.17447217294 21: 3.1806637904 3.75433617961
The integers are the column number (7 corresponds to 8.4.2). The first float column is the geometric mean of the normalized performance numbers (bigger is slower). The second float column is the geometric standard deviation; basically, the larger the value, the more the pattern of performance differs from the best-of-breed.
It looks to me like miguel's latest changes slowed 8.5 down fairly uniformly over the test suite (the SD is very similar between the first and second lines) but some things were hit disproportionately from 8.4.* to 8.5...
DKF: And now a few more notes on how and why to do the geometric analysis I used above.
To do a geometric mean, you basically take the average of the logarithm of the normalized values and then run that back through exp() to convert back to normal multiples. This allows you to gauge how much performance differs overall when the different tests vary enormously in scale, and is much less inclined to be skewed by a few few off-results overall (and those do happen; this data is not noise-free at all.)
A geometric standard deviation is even more clever. At the same time you sum the logs to build the mean, sum the square of the logs. Then take the average of the square of the logs and subtract the square of the average of the logs. Now take the square root and run that value through exp() to go back to normal number land. Looking at the standard deviation lets you pick out how much things differ; it lets you gain (or not) a level of confidence in the meaningfulness of your average.
A normal (arithmetic) mean basically works on the assumption that all the values are in an arithmetic sequence (i.e. that you add a value to go from one term to the next.) If the results aren't basically evenly spaced/distributed, it doesn't produce great answers. It tells you what it tells you, but you can't read too much into it. Computing an arithmetic mean is high-school maths.
A geometric mean assumes that all the values are in a geometric sequence (i.e. that you multiply by a value to go from one term to the next.) Geometric means are great for when you have the same set of tests running everywhere and you want to work out what the difference in the overall average speed is. You compute it from the arithmetic mean of the logarithms of the values.
A harmonic mean works by taking the reciprocal of the arithmetic mean of the reciprocals. It's suitable for averaging rates at which some fixed amount of work is performed. It's not so good when the amount of work performed is itself variable.
If you want to stir up an argument in the performance-measurement community, ask whether a geometric or a harmonic mean is best. :^)
The other common kind of mean is the RMS (root-mean-square, which also tells you pretty much how to compute it). It's great for averaging based on areas of oscillating graphs.
The harmonic mean and the RMS are both instances of power means, in that they both involve this general "equation" (written in pseudo-mathematic notation):
Mean**Power = Sum(Value(i)**Power)/N
In LaTeX, use this:
\[ \mathit{Mean}^p = \frac{\Sum_{i=1}^N \mathit{Value}_i^p}{N} \]
DKF: Here's some code (not especially idiomatic) to do mean calculation.
# Read in the data set f [open data.txt] foreach line [split [read $f] \n] { set n 0 foreach val [lrange $line 1 end] { if {[string is double -strict $val]} { lappend v([incr n]) $val } } } close $f puts "\tArMean\tSD\tSqMean\tGeoMean\tHarmMean" # Produce and print out the various kinds of averages foreach n [lsort -integer [array names v]] { set vals $v($n) set num [llength $vals] set sum 0 set sum2 0 set sumlog 0 set suminv 0 foreach val $vals { set sum [expr {$sum + $val}] set sum2 [expr {$sum2 + $val*$val}] set sumlog [expr {$sumlog + log($val)}] set suminv [expr {$suminv + 1./$val}] } set aMean [expr {$sum / $num}] set sMean [expr {sqrt($sum2 / $num)}] set aSD [expr {sqrt($sum2 / $num - $aMean*$aMean)}] set gMean [expr {exp($sumlog / $num)}] set hMean [expr {$num / $suminv}] puts [format "%d:\t%.4f\t%.4f\t%.4f\t%.4f\t%.4f" \ $n $aMean $aSD $sMean $gMean $hMean] }
DKF: You can Analyse the Normalized Benchmarks by Category if you prefer.