Version 1 of Tcl Normalized Benchmarks

Updated 2002-02-08 05:55:08

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

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


 TCL_INTERP: 1:8.4a4 2:8.3.4 3:8.2.3 4:8.0.5 5:7.6p2
 STARTED 2002-02-07 17:27:54 (runbench.tcl v1.12)
 Benchmark 1:8.4a4 /home/jeffh/install/linux-ix86/bin/tclsh8.4
 bbccdeefhkllmmmmprrssstuvw 00:04:40 elapsed
 Benchmark 2:8.3.4 /home/jeffh/install/linux-ix86/bin/tclsh8.3
 bbccdeefhkllmmmmprrssstuvw 00:06:09 elapsed
 Benchmark 3:8.2.3 /home/jeffh/install/linux-ix86/bin/tclsh8.2
 bbccdeefhkllmmmmprrssstuvw 00:06:17 elapsed
 Benchmark 4:8.0.5 /home/jeffh/install/linux-ix86/bin/tclsh8.0
 bbccdeefhkllmmmmprrssstuvw 00:05:41 elapsed
 Benchmark 5:7.6p2 /home/jeffh/install/linux-ix86/bin/tclsh7.6
 bbccdeefhkllmmmmprrssstuvw 00:19:51 elapsed
 000 VERSIONS:                               1:8.4a4 2:8.3.4 3:8.2.3 4:8.0.5 5:7.6p2
 001 BASE64 decode 10                           1.00    0.97    0.92    0.92     -=-
 002 BASE64 decode 100                          1.00    0.97    0.94    0.96     -=-
 003 BASE64 decode 1000                         1.00    0.96    0.95    0.96     -=-
 004 BASE64 decode 10000                        1.00    0.97    0.95    0.97     -=-
 005 BASE64 decode2 10                          1.00    0.99    0.94    0.93     -=-
 006 BASE64 decode2 100                         1.00    0.97    0.93    0.95     -=-
 007 BASE64 decode2 1000                        1.00    0.97    0.95    0.97     -=-
 008 BASE64 decode2 10000                       1.00    0.98    0.96    0.98     -=-
 009 BASE64 encode 10                           1.00    1.12    1.01    1.18     -=-
 010 BASE64 encode 100                          1.00    1.14    1.08    1.27     -=-
 011 BASE64 encode 1000                         1.00    1.15    1.09    1.30     -=-
 012 BASE64 encode 10000                        1.00    1.16    1.10    1.30     -=-
 013 BASE64 encode2 10                          1.00    1.18    1.05    1.22     -=-
 014 BASE64 encode2 100                         1.00    1.23    1.11    1.34     -=-
 015 BASE64 encode2 1000                        1.00    1.23    1.12    1.36     -=-
 016 BASE64 encode2 10000                       1.00    1.23    1.11    1.35     -=-
 017 BIN bitset-v1 1000 chars                   1.00    0.94    0.91    0.83     -=-
 018 BIN bitset-v1 5000 chars                   1.00    0.94    0.94    0.85     -=-
 019 BIN bitset-v1 10000 chars                  1.00    0.94    0.95    0.86     -=-
 020 BIN bitset-v2 1000 chars                   1.00    1.22    1.10    0.98     -=-
 021 BIN bitset-v2 5000 chars                   1.00    1.28    1.14    1.02     -=-
 022 BIN bitset-v2 10000 chars                  1.00    1.26    1.13    1.01     -=-
 023 BIN bitset-v3 1000 chars                   1.00    1.95    1.80    1.59     -=-
 024 BIN bitset-v3 5000 chars                   1.00    2.10    1.95    1.74     -=-
 025 BIN bitset-v3 10000 chars                  1.00    2.12    1.97    1.75     -=-
 026 BIN c scan, 1000b                          1.00    0.66    0.65    0.51     -=-
 027 BIN c scan, 5000b                          1.00    0.93    0.93    0.74     -=-
 028 BIN c scan, 10000b                         1.00    1.04    1.01    0.82     -=-
 029 CATCH no catch used                        1.00    1.00    1.00    1.00    2.00
 030 CATCH return error                         1.00    0.97    0.94    0.82    0.59
 031 CATCH return ok                            1.00    0.75    0.75    0.75    2.75
 032 DATA access in a list                      1.00    1.28    1.09    1.05   25.08
 033 DATA access in an array                    1.00    1.02    0.99    0.87    3.42
 034 DATA create in a list                      1.00    2.12    2.02    1.90    6.06
 035 DATA create in an array                    1.00    0.95    0.97    1.20    3.08
 036 EVAL cmd and mixed lists                   1.00    0.84    2.29    1.60    0.33
 037 EVAL cmd eval as list                      1.00    1.11    3.11    2.89    1.22
 038 EVAL cmd eval as string                    1.00    1.00    1.20    1.08    0.48
 039 EVAL cmd eval in list obj var              1.00    1.09    2.73    2.45    1.36
 040 EVAL list cmd and mixed lists              1.00    0.83    2.28    1.59    0.33
 041 EVAL list cmd and pure lists               1.00    1.00   16.39   11.44    2.38
 042 EXPR braced                                1.00    1.00    0.92    0.77    6.00
 043 EXPR fifty operands                        1.00    0.95    0.95    0.82    3.82
 044 EXPR incr with expr                        1.00    0.75    0.75    0.75    4.00
 045 EXPR incr with incr                        1.00    1.00    0.80    0.60    2.20
 046 EXPR inline                                1.00    1.00    0.93    0.79    2.57
 047 EXPR one operand                           1.00    1.00    1.00    1.00    4.33
 048 EXPR ten operands                          1.00    0.86    0.86    0.71    3.86
 049 EXPR unbraced                              1.00    0.96    0.99    0.78    0.78
 050 FCOPY binary: 160K                         1.00    1.01    0.99     -=-     -=-
 051 FCOPY encoding: 160K                       1.00    0.25    0.26     -=-     -=-
 052 FCOPY std: 160K                            1.00    1.00    0.99    1.05    1.05
 053 HEAPSORT size 10                           1.00    0.97    0.91    8.03    5.53
 054 HEAPSORT size 50                           1.00    0.96    0.93    6.94    6.28
 055 HEAPSORT size 100                          1.00    0.97    0.94    6.45    6.45
 056 IF else true al                            1.00    1.00    0.93    0.80    3.00
 057 IF else true numeric                       1.00    1.00    0.88    0.88    5.00
 058 IF elseif true al                          1.00    1.00    0.93    0.80    2.93
 059 IF elseif true numeric                     1.00    1.00    0.88    0.88    4.75
 060 IF if false al/al                          1.00    1.00    0.90    0.80    3.30
 061 IF if false al/num                         1.00    1.00    0.89    0.78    5.89
 062 IF if false num/num                        1.00    1.00    1.00    1.00    5.50
 063 IF if true al                              1.00    1.00    0.90    0.80    3.40
 064 IF if true al/al                           1.00    1.10    1.00    0.80    3.30
 065 IF if true num/num                         1.00    1.00    0.86    0.86    4.57
 066 IF if true numeric                         1.00    1.00    1.00    0.83    5.00
 067 IF multi 1st true                          1.00    1.00    1.00    1.00    8.17
 068 IF multi 2nd true                          1.00    1.00    0.88    0.88    6.50
 069 IF multi 9th true                          1.00    1.00    0.94    0.88    5.56
 070 IF multi default true                      1.00    1.00    0.94    0.88    5.69
 071 KLIST shuffle0 llength 1                   1.00    1.43    1.34    1.25    8.0+
 072 KLIST shuffle0 llength 10                  1.00    1.64    1.59    1.44    8.0+
 073 KLIST shuffle0 llength 100                 1.00    1.65    1.61    1.44    8.0+
 074 KLIST shuffle0 llength 1000                1.00    1.54    1.52    1.35    8.0+
 075 KLIST shuffle0 llength 10000               1.00    1.38    1.36    1.22     -=-
 076 KLIST shuffle1-s llength 1                 1.00    1.09    1.02    0.80    2.80
 077 KLIST shuffle1-s llength 10                1.00    0.96    0.97    0.95    4.16
 078 KLIST shuffle1-s llength 100               1.00    0.94    0.93    0.81    5.48
 079 KLIST shuffle1-s llength 1000              1.00    0.99    0.88    0.87    3.42
 080 KLIST shuffle1a llength 1                  1.00    1.04    0.98    0.74    2.94
 081 KLIST shuffle1a llength 10                 1.00    0.97    1.02    0.97    5.04
 082 KLIST shuffle1a llength 100                1.00    0.94    1.03    0.96    8.86
 083 KLIST shuffle1a llength 1000               1.00    0.95    1.03    0.95   50.64
 084 KLIST shuffle1a llength 10000              1.00    0.96    1.03    0.96     -=-
 085 KLIST shuffle2 llength 1                   1.00    1.23    1.15    1.25    2.92
 086 KLIST shuffle2 llength 10                  1.00    1.14    1.06    1.38    3.87
 087 KLIST shuffle2 llength 100                 1.00    1.07    1.00    1.31    3.90
 088 KLIST shuffle2 llength 1000                1.00    1.06    1.01    1.30    3.89
 089 KLIST shuffle2 llength 10000               1.00    1.06    1.01    1.31     -=-
 090 KLIST shuffle3 llength 1                   1.00    1.38    1.29    1.05    2.76
 091 KLIST shuffle3 llength 10                  1.00    1.27    1.34    1.30    4.90
 092 KLIST shuffle3 llength 100                 1.00    1.21    1.31    1.18    6.30
 093 KLIST shuffle3 llength 1000                1.00    1.18    1.26    1.13   18.99
 094 KLIST shuffle3 llength 10000               1.00    1.09    1.15    1.07     -=-
 095 KLIST shuffle4 llength 1                   1.00    1.36    1.27    1.05    2.95
 096 KLIST shuffle4 llength 10                  1.00    1.28    1.32    1.30    5.03
 097 KLIST shuffle4 llength 100                 1.00    1.25    1.32    1.20    8.03
 098 KLIST shuffle4 llength 1000                1.00    1.23    1.31    1.18   37.73
 099 KLIST shuffle4 llength 10000               1.00    1.23    1.33    1.20     -=-
 100 KLIST shuffle5-s llength 1                 1.00    1.05    1.00    0.86    4.29
 101 KLIST shuffle5-s llength 10                1.00    0.93    0.85    0.72    4.12
 102 KLIST shuffle5-s llength 100               1.00    0.93    0.78    0.65    4.21
 103 KLIST shuffle5-s llength 1000              1.00    0.98    0.78    0.75    2.60
 104 KLIST shuffle5a llength 1                  1.00    1.04    0.96    0.80    4.12
 105 KLIST shuffle5a llength 10                 1.00    0.89    0.82    0.71    4.82
 106 KLIST shuffle5a llength 100                1.00    0.90    0.80    0.71    6.07
 107 KLIST shuffle5a llength 1000               1.00    0.91    0.81    0.77   16.98
 108 KLIST shuffle5a llength 10000              1.00    0.95    0.90    0.90     -=-
 109 LIST append to list                        1.00    2.43    2.14    1.86    1.57
 110 LIST exact search, first item              1.00    0.88    0.75    0.75   53.88
 111 LIST exact search, last item               1.00    0.91    0.86    0.80   12.80
 112 LIST exact search, middle item             1.00    0.88    0.81    0.69   27.44
 113 LIST exact search, non-item                1.00    0.93    0.93    0.88    4.76
 114 LIST exact search, typed item              1.00    1.14    1.07    1.00   16.00
 115 LIST exact search, untyped item            1.00    0.91    0.86    0.80   12.80
 116 LIST index first element                   1.00    1.00    0.83    0.83   23.83
 117 LIST index last element                    1.00    1.00    0.83    0.83   29.17
 118 LIST index middle element                  1.00    1.00    0.83    0.83   26.33
 119 LIST insert an item at "end"               1.00    0.99    1.02    0.99    3.25
 120 LIST insert an item at middle              1.00    0.97    1.00    0.98    1.87
 121 LIST insert an item at start               1.00    0.98    0.99    0.98    1.72
 122 LIST iterate list                          1.00    1.57    1.46    1.38  141.53
 123 LIST join list                             1.00    1.01    1.01    0.64    1.85
 124 LIST large, early range                    1.00    1.00    0.87    0.67   11.53
 125 LIST large, late range                     1.00    0.94    0.94    0.69   11.31
 126 LIST length, pure list                     1.00    1.40    1.20    1.00  100.20
 127 LIST list                                  1.00    1.00    0.92    0.83    2.54
 128 LIST remove first element                  1.00    0.98    1.00    0.99    1.51
 129 LIST remove in mixed list                  1.00    1.00    8.24    0.99    1.75
 130 LIST remove last element                   1.00    0.98    0.98    0.97    2.02
 131 LIST remove middle element                 1.00    0.99    1.00    0.98    1.88
 132 LIST replace first el with multiple        1.00    0.98    0.99    0.99    1.80
 133 LIST replace first element                 1.00    0.97    1.00    0.97    1.85
 134 LIST replace in mixed list                 1.00    0.98    8.47    0.99    1.85
 135 LIST replace last el with multiple         1.00    0.98    1.00    0.98    3.28
 136 LIST replace last element                  1.00    0.98    1.00    0.98    3.23
 137 LIST replace middle el with multiple       1.00    0.98    0.98    0.98    3.00
 138 LIST replace middle element                1.00    0.98    1.00    0.98    3.08
 139 LIST replace range                         1.00    0.97    1.02    1.00    2.41
 140 LIST small, early range                    1.00    1.00    0.80    0.70   14.80
 141 LIST small, late range                     1.00    1.00    0.80    0.70   17.50
 142 LIST sort                                  1.00    1.00    0.97    0.94    0.96
 143 LIST sorted search, first item             1.00    0.88    0.75    0.75   53.88
 144 LIST sorted search, last item              1.00    3.56    3.44    3.11   49.78
 145 LIST sorted search, middle item            1.00    1.75    1.62    1.38   54.88
 146 LIST sorted search, non-item               1.00   11.50   11.50   10.88   58.75
 147 LIST sorted search, typed item             1.00    4.00    3.75    3.50   56.00
 148 LIST typed sort                            1.00    1.00    0.97    0.79    3.97
 149 LOOP for (to 1000)                         1.00    1.00    0.97    0.95    7.43
 150 LOOP for, iterate list                     1.00    1.29    1.20    1.11   64.57
 151 LOOP for, iterate string                   1.00    1.39    1.37    1.11   11.99
 152 LOOP foreach, iterate list                 1.00    0.96    0.96    0.89    2.69
 153 LOOP foreach, iterate string               1.00    0.97    1.48    1.29    2.14
 154 LOOP while (to 1000)                       1.00    1.00    0.97    0.95    7.59
 155 MAP ([chars])-case regsub                  1.00    1.03    1.02    0.20    0.31
 156 MAP http mapReply                          1.00    0.99    0.99    0.93    0.14
 157 MAP regsub -nocase, no match               1.00    0.85    0.85    0.48    0.64
 158 MAP regsub 1 val                           1.00    8.04    8.03    1.30    2.59
 159 MAP regsub 1 val -nocase                   1.00    2.39    2.37    0.53    0.95
 160 MAP regsub 2 val                           1.00   13.76   13.71    1.27    2.19
 161 MAP regsub 2 val -nocase                   1.00    5.21    5.19    0.63    1.00
 162 MAP regsub 3 val                           1.00   14.28   14.28    1.32    2.20
 163 MAP regsub 3 val -nocase                   1.00    5.03    5.03    0.61    0.94
 164 MAP regsub 4 val                           1.00   13.82   13.79    1.27    2.08
 165 MAP regsub 4 val -nocase                   1.00    4.93    4.93    0.61    0.91
 166 MAP regsub short                           1.00    4.11    4.07    0.96    2.04
 167 MAP regsub, no match                       1.00    5.66    5.63    2.06    2.73
 168 MAP string -nocase, no match               1.00    5.61    5.56     -=-     -=-
 169 MAP string 1 val                           1.00   13.07   13.23   nomap   nomap
 170 MAP string 1 val -nocase                   1.00    5.95    5.94   nomap   nomap
 171 MAP string 2 val                           1.00    6.13    6.17   nomap   nomap
 172 MAP string 2 val -nocase                   1.00    4.46    4.49   nomap   nomap
 173 MAP string 3 val                           1.00    5.89    5.91   nomap   nomap
 174 MAP string 3 val -nocase                   1.00    4.48    4.45   nomap   nomap
 175 MAP string 4 val                           1.00    4.97    5.00   nomap   nomap
 176 MAP string 4 val -nocase                   1.00    4.19    4.20   nomap   nomap
 177 MAP string short                           1.00    1.22    1.22   nomap   nomap
 178 MAP string, no match                       1.00   11.85   12.01     -=-     -=-
 179 MAP |-case regsub                          1.00    1.00    0.97    0.30    0.48
 180 MAP |-case strmap                          1.00    1.44    1.39   nomap   nomap
 181 MATRIX mult 5x5                            1.00    1.41    1.36    1.15    6.85
 182 MATRIX mult 10x10                          1.00    1.32    1.30    1.09    7.90
 183 MATRIX mult 15x15                          1.00    1.29    1.28    1.07    8.66
 184 MATRIX transposition-0                     1.00    2.61    2.43    1.99    6.56
 185 MATRIX transposition-1                     1.00    2.16    1.87    1.71   30.72
 186 MD5 msg len 10                             1.00    0.93    0.87    0.86     -=-
 187 MD5 msg len 100                            1.00    0.93    0.87    0.88     -=-
 188 MD5 msg len 1000                           1.00    0.93    0.86    0.87     -=-
 189 MD5 msg len 10000                          1.00    0.92    0.86    0.88     -=-
 190 MTHD array stored proc call                1.00    1.00    0.80    0.80     -=-
 191 MTHD call absolute                         1.00    1.60    1.20    1.30     -=-
 192 MTHD call relative                         1.00    1.07    0.87    0.87     -=-
 193 MTHD direct ns proc call                   1.00    0.75    0.75    0.75     -=-
 194 MTHD imported ns proc call                 1.00    0.75    0.75    0.75     -=-
 195 MTHD indirect proc eval                    1.00    0.93    2.29    2.07     -=-
 196 MTHD indirect proc eval #2                 1.00    1.04    1.25    1.21     -=-
 197 MTHD inline call                           1.00    1.00    0.50    0.50     -=-
 198 MTHD interp alias proc call                1.00    0.91    0.82    0.36     -=-
 199 MTHD ns lookup call                        1.00    1.00    1.35    1.14     -=-
 200 MTHD switch method call                    1.00    0.95    1.82    1.77     -=-
 201 PROC do-nothing, no args                   1.00    1.00    4.67    0.67    0.33
 202 PROC do-nothing, one arg                   1.00    1.00    1.00    0.67    1.33
 203 PROC explicit return                       1.00    1.33    1.00    1.00    2.00
 204 PROC explicit return (2)                   1.00    1.33    1.00    1.00    1.67
 205 PROC explicit return (3)                   1.00    1.33    1.00    1.00    1.67
 206 PROC heavily commented                     1.00    1.00    0.67    0.67   64.67
 207 PROC implicit return                       1.00    0.75    0.75    0.75    2.00
 208 PROC implicit return (2)                   1.00    1.00    1.00    1.00    2.00
 209 PROC implicit return (3)                   1.00    1.00    1.00    0.67    1.33
 210 PROC local links with global               1.00    1.02    0.99    0.98    2.40
 211 PROC local links with upvar                1.00    0.99    0.98    0.97    2.69
 212 PROC local links with variable             1.00    1.00    0.98    0.59    2.79
 213 RE 1-char long-end                         1.00    0.98    0.98   12.57   13.54
 214 RE 1-char long-end catching                1.00    0.97    0.92    6.48    6.89
 215 RE 1-char long-middle                      1.00    0.94    0.91    9.19   10.50
 216 RE 1-char long-middle catching             1.00    0.95    0.92    4.00    4.44
 217 RE 1-char long-start                       1.00    0.88    0.82    0.65    2.88
 218 RE 1-char long-start catching              1.00    0.97    0.93    0.46    0.97
 219 RE 1-char short                            1.00    0.94    0.82    0.65    0.76
 220 RE 1-char short catching                   1.00    0.95    0.93    0.46    0.39
 221 RE basic                                   1.00    0.93    0.80    0.73    0.93
 222 RE basic catching                          1.00    0.97    0.94    0.42    0.36
 223 RE c-comment long                          1.00    0.97    0.93    1.43    2.07
 224 RE c-comment long catching                 1.00    0.96    0.95    0.61    0.79
 225 RE c-comment long nomatch                  1.00    0.99    0.99    0.21    1.11
 226 RE c-comment long nomatch catching         1.00    0.98    0.94    0.22    1.10
 227 RE c-comment long pmatch                   1.00    0.98    0.96    6.12    7.32
 228 RE c-comment long pmatch catching          1.00    0.96    0.93    6.05    7.25
 229 RE c-comment many *s                       1.00    1.11    0.96    1.71    2.53
 230 RE c-comment many *s catching              1.00    0.97    0.98    0.66    0.92
 231 RE c-comment nomatch                       1.00    0.96    0.87    0.39    0.61
 232 RE c-comment nomatch catching              1.00    0.88    0.83    0.38    0.58
 233 RE c-comment simple                        1.00    0.97    0.92    0.58    0.69
 234 RE c-comment simple catching               1.00    0.94    0.94    0.28    0.25
 235 RE count all matches                       1.00    0.98    2.86    2.43    4.96
 236 RE extract all matches                     1.00    0.97    2.93    2.43    5.50
 237 RE literal regexp                          1.00    0.96    0.83    0.62    0.67
 238 RE n-char long-end                         1.00    0.96    0.96   13.81   14.62
 239 RE n-char long-end catching                1.00    0.97    0.93    6.70    6.97
 240 RE n-char long-middle                      1.00    0.94    0.91   10.18   11.36
 241 RE n-char long-middle catching             1.00    0.98    0.95    4.13    4.49
 242 RE n-char long-start                       1.00    0.89    0.78    0.61    2.78
 243 RE n-char long-start catching              1.00    0.99    0.93    0.41    0.85
 244 RE n-char short                            1.00    0.89    0.78    0.61    0.72
 245 RE n-char short catching                   1.00    0.97    0.91    0.43    0.34
 246 RE static long match                       1.00    2.00    1.94    1.35    3.41
 247 RE static long nomatch                     1.00    1.96    1.88    1.00    2.40
 248 RE static short match                      1.00    3.75    3.50    1.75    2.00
 249 RE static short nomatch                    1.00    2.25    2.00    1.25    2.00
 250 RE var-based regexp                        1.00    0.96    0.88    0.64    0.80
 251 READ 595K, gets                            1.00    0.98    0.91    0.48    0.80
 252 READ 595K, read                            1.00    1.10    1.10    4.33    4.33
 253 READ 595K, read & size                     1.00    1.10    1.10    0.35    4.36
 254 READ 3050b, gets                           1.00    1.01    0.95    0.51    0.84
 255 READ 3050b, read                           1.00    1.00    0.99    0.46    0.54
 256 READ 3050b, read & size                    1.00    1.01    1.00    0.46    0.56
 257 READ bin 595K, gets                        1.00    0.99    0.94    0.46    0.77
 258 READ bin 595K, read                        1.00    0.97    1.00   18.48   18.37
 259 READ bin 595K, read & size                 1.00    0.97    1.00    1.46   18.47
 260 READ bin 3050b, gets                       1.00    1.00    0.96    0.50    0.80
 261 READ bin 3050b, read                       1.00    0.97    0.95    1.15    1.25
 262 READ bin 3050b, read & size                1.00    1.01    0.98    1.15    1.31
 263 SHA sha1 msg len 10                        1.00    0.95    0.91    0.99     -=-
 264 SHA sha1 msg len 100                       1.00    0.94    0.90    0.98     -=-
 265 SHA sha1 msg len 1000                      1.00    0.94    0.91    1.00     -=-
 266 SHA sha1 msg len 10000                     1.00    0.95    0.91    1.00     -=-
 267 SHA sha1DF msg len 10                      1.00    1.26    1.19    1.05     -=-
 268 SHA sha1DF msg len 100                     1.00    1.27    1.20    1.06     -=-
 269 SHA sha1DF msg len 1000                    1.00    1.29    1.21    1.07     -=-
 270 SHA sha1DF msg len 10000                   1.00    1.29    1.21    1.08     -=-
 271 STARTUP time to launch tclsh               1.00    0.89    0.91    0.95    0.46
 272 STR append                                 1.00    0.68    0.64    0.50    4.38
 273 STR append (1KB + 1KB)                     1.00    1.43    1.35    1.04    6.43
 274 STR append (1MB + (1b + 1K + 1b) * 100)    1.00    1.95    1.94    1.93   14.78
 275 STR append (1MB + 1KB * 20)                1.00    2.13    2.12    2.13   16.80
 276 STR append (1MB + 1KB * 1000)              1.00    1.69    1.64    1.61   10.89
 277 STR append (1MB + 1KB)                     1.00    2.15    2.15    2.15   17.07
 278 STR append (1MB + 1MB * 3)                 1.00    1.25    1.25    1.25   11.19
 279 STR append (1MB + 1MB * 5)                 1.00    2.01    2.02    2.02   11.60
 280 STR append (1MB + 2b * 1000)               1.00    2.17    2.05    2.05   13.77
 281 STR append (10KB + 1KB)                    1.00    1.76    1.70    1.58   12.94
 282 STR first (failure)                        1.00    0.43    0.41    0.41    2.33
 283 STR first (failure) utf                    1.00    1.64    1.59    0.38    2.33
 284 STR first (success)                        1.00    1.12    0.88    0.75   18.88
 285 STR first (success) utf                    1.00    1.25    1.12    0.75   19.00
 286 STR first (total failure)                  1.00    0.23    0.20    0.20    2.43
 287 STR first (total failure) utf              1.00    0.25    0.22    0.21    2.45
 288 STR index 0                                1.00    1.22    1.00    0.78   19.67
 289 STR index 100                              1.00    1.00    0.90    0.70   17.70
 290 STR index 500                              1.00    1.00    0.90    0.70   17.80
 291 STR info locals match                      1.00    1.07    1.03    1.00    2.91
 292 STR last (failure)                         1.00    1.09    1.07    0.84    3.26
 293 STR last (success)                         1.00   16.50   16.38    0.75   24.00
 294 STR last (total failure)                   1.00    1.16    1.14    0.80    4.09
 295 STR length (==4010)                        1.00    1.20    1.20    1.00   35.20
 296 STR length of a LIST                       1.00    1.20    1.00    1.00   34.40
 297 STR length static str                      1.00    2.00    1.67    1.67    6.67
 298 STR match, complex (failure)               1.00    7.11    7.10    3.01    4.61
 299 STR match, complex (success early)         1.00    1.86    1.71    1.14   21.14
 300 STR match, complex (success late)          1.00    6.18    6.17    2.61    3.97
 301 STR match, complex (total failure)         1.00    8.68    8.54    3.61    5.51
 302 STR match, exact (failure)                 1.00    1.25    1.00    1.00    1.75
 303 STR match, exact (success)                 1.00    2.00    1.67    1.33    2.33
 304 STR match, exact -nocase (failure)         1.00    1.25    1.25     ERR     ERR
 305 STR match, exact -nocase (success)         1.00    1.14    1.00     ERR     ERR
 306 STR match, simple (failure)                1.00    1.25    1.00    1.00    2.50
 307 STR match, simple (success)                1.00    1.25    1.00    1.00    2.25
 308 STR range, index 100..200 of 4010          1.00    0.92    0.83    0.58   15.17
 309 STR repeat, 4010 chars * 10                1.00    0.97    1.97    2.36   19.71
 310 STR repeat, 4010 chars * 100               1.00    1.03    2.10    2.32    9.96
 311 STR repeat, abcdefghij * 10                1.00    1.00    1.38    5.25   20.50
 312 STR repeat, abcdefghij * 100               1.00    0.96    1.85   12.70   49.48
 313 STR repeat, abcdefghij * 1000              1.00    1.01    1.87   15.84   62.06
 314 STR replace, equal replacement             1.00    4.07    4.00    0.59    9.11
 315 STR replace, longer replacement            1.00    4.00    3.91    0.60    8.96
 316 STR replace, no replacement                1.00    4.32    4.27    0.63    9.78
 317 STR reverse iter/append, 10 c              1.00    1.88    1.73    1.33    3.71
 318 STR reverse iter/append, 10 uc             1.00    1.89    1.74    1.36    3.77
 319 STR reverse iter/append, 100 c             1.00    2.16    2.02    1.52    5.05
 320 STR reverse iter/append, 100 uc            1.00    2.17    1.97    1.54    5.03
 321 STR reverse iter/append, 400 c             1.00    2.21    2.08    1.57    7.82
 322 STR reverse iter/append, 400 uc            1.00    2.21    2.04    1.59    7.91
 323 STR reverse iter/set, 10 c                 1.00    1.26    1.19    0.98    3.43
 324 STR reverse iter/set, 10 uc                1.00    1.29    1.24    1.02    3.57
 325 STR reverse iter/set, 100 c                1.00    1.25    1.23    0.99    4.22
 326 STR reverse iter/set, 100 uc               1.00    1.24    1.23    0.97    4.12
 327 STR reverse iter/set, 400 c                1.00    1.24    1.23    1.01    6.61
 328 STR reverse iter/set, 400 uc               1.00    1.23    1.24    0.99    6.55
 329 STR reverse recursive, 10 c                1.00    1.24    1.19    0.92    2.79
 330 STR reverse recursive, 10 uc               1.00    1.32    1.27    0.96    2.97
 331 STR reverse recursive, 100 c               1.00    1.27    1.24    0.97    3.08
 332 STR reverse recursive, 100 uc              1.00    1.68    1.65    0.98    3.14
 333 STR reverse recursive, 400 c               1.00    1.23    1.22    0.94    8.0+
 334 STR reverse recursive, 400 uc              1.00    2.38    2.38    0.78    8.0+
 335 STR split iter, 4000 uchars                1.00    0.96    1.41    1.22    2.04
 336 STR split iter, 4010 chars                 1.00    0.96    1.42    1.23    2.06
 337 STR split iter, rand 100 c                 1.00    0.97    0.78    0.67     -=-
 338 STR split iter, rand 1000 c                1.00    0.97    1.13    0.97     -=-
 339 STR split iter, rand 10000 c               1.00    0.96    1.41    1.20     -=-
 340 STR split, 4000 uchars                     1.00    0.92    3.04    2.34    0.82
 341 STR split, 4010 chars                      1.00    0.93    3.13    2.47    0.83
 342 STR split, rand 100 c                      1.00    0.98    0.64    0.50     -=-
 343 STR split, rand 1000 c                     1.00    0.95    1.35    1.02     -=-
 344 STR split, rand 10000 c                    1.00    0.92    2.74    2.04     -=-
 345 STR str $a eq $b                           1.00    1.60    1.50    1.40    5.30
 346 STR str $a eq $b (same obj)                1.00    1.60    1.50    1.40    5.20
 347 STR str $a equal ""                        1.00    1.57    1.57    1.14    9.29
 348 STR str $a ne $b                           1.00    1.60    1.50    1.50    4.90
 349 STR str $a ne $b (same obj)                1.00    1.60    1.50    1.40    4.80
 350 STR str num == ""                          1.00    1.00    1.12    1.12    8.12
 351 STR string compare                         1.00    0.73    0.68    0.68    1.23
 352 STR string compare ""                      1.00    1.10    1.10    1.20    4.00
 353 STR string compare long                    1.00    0.60    0.59    0.59    2.78
 354 STR string compare mixed long              1.00    0.32    0.32    0.31    1.44
 355 STR string compare uni long                1.00    0.68    0.68    0.60    2.78
 356 STR string equal ""                        1.00    1.38    1.38    1.50    4.88
 357 STR/LIST length, obj shimmer               1.00    1.01    1.00    0.01    0.54
 358 SWITCH 1st true                            1.00    0.84    0.79    0.74    2.47
 359 SWITCH 2nd true                            1.00    0.89    0.84    0.74    2.47
 360 SWITCH 9th true                            1.00    0.90    0.86    0.81    2.29
 361 SWITCH default true                        1.00    0.90    0.86    0.81    2.33
 362 TRACE all set (rwu)                        1.00    0.88    0.88    0.76    1.35
 363 TRACE no trace set                         1.00    0.88    0.88    0.82    1.35
 364 TRACE read                                 1.00    0.94    0.94    0.81    1.44
 365 TRACE unset                                1.00    0.88    0.88    0.82    1.35
 366 TRACE write                                1.00    0.88    0.88    0.76    1.35
 367 UNSET catch var !exist                     1.00    0.90    0.90    0.79    0.54
 368 UNSET catch var exists                     1.00    1.00    0.83    0.83    2.00
 369 UNSET info check var !exist                1.00    1.20    1.00    1.00    2.60
 370 UNSET info check var exists                1.00    1.00    0.88    0.88    1.75
 371 UNSET nocomplain var !exist                1.00    7.20    6.80    6.00    4.40
 372 UNSET nocomplain var exists                1.00    1.00    0.83    0.83    2.17
 373 UNSET var exists                           1.00    1.00    0.80    0.80    1.40
 374 VAR 'array set' of 100 elems               1.00    0.93    0.92    0.83    1.45
 375 VAR 100 'set's in array                    1.00    0.90    0.89    0.91    2.62
 376 VAR access global                          1.00    1.00    0.88    0.75    1.38
 377 VAR access local proc arg                  1.00    1.00    1.00    1.00    3.60
 378 VAR access locally set                     1.00    1.00    1.00    1.00    3.40
 379 VAR access upvar                           1.00    0.95    0.85    0.75    1.20
 380 VAR mset                                   1.00    1.33    1.17    1.17    4.75
 381 VAR mset (foreach)                         1.00    1.00    0.88    0.75    3.75
 382 VAR ref absolute                           1.00    0.95    0.92    0.76    8.0+
 383 VAR ref variable                           1.00    0.93    0.91    0.79    8.0+
 384 VAR set array element                      1.00    0.88    0.75    0.75    1.12
 385 VAR set scalar                             1.00    0.75    0.75    0.75    2.25
 386 WORDCOUNT wc1                              1.00    0.97    0.96    0.37    0.60
 387 WORDCOUNT wc2                              1.00    2.25    2.26    0.86    1.31
 388 WORDCOUNT wc3                              1.00    2.34    2.36    0.84    1.04
 388 BENCHMARKS                              1:8.4a4 2:8.3.4 3:8.2.3 4:8.0.5 5:7.6p2
 FINISHED 2002-02-07 18:10:32