| lab1 | lab2 | lab3 | lab4 | lab5 | lab6 | lab7 | lab8 | lab9 | lab10 | lab11 | lab12 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| arith/mixed | 100 |
94 |
98 |
100 |
100 |
100 |
100 |
104 |
90 |
91 |
91 |
91 |
| arith/trig | 100 |
88 |
100 |
99 |
100 |
95 |
100 |
103 |
92 |
92 |
93 |
93 |
| array/copy | 100 |
101 |
100 |
101 |
94 |
101 |
103 |
108 |
83 |
84 |
84 |
83 |
| array/foreach | 100 |
100 |
100 |
103 |
114 |
112 |
107 |
113 |
100 |
100 |
97 |
98 |
| array/index | 100 |
91 |
96 |
100 |
103 |
96 |
102 |
112 |
91 |
91 |
92 |
92 |
| array/pop | 100 |
100 |
100 |
102 |
106 |
104 |
108 |
111 |
89 |
89 |
90 |
90 |
| array/shift | 100 |
100 |
100 |
100 |
104 |
101 |
109 |
110 |
89 |
89 |
88 |
89 |
| array/sort | 100 |
103 |
98 |
100 |
100 |
100 |
100 |
100 |
81 |
81 |
81 |
80 |
| array/sort-num | 100 |
100 |
100 |
102 |
100 |
100 |
102 |
109 |
86 |
86 |
86 |
86 |
| call/0arg | 100 |
94 |
101 |
101 |
101 |
100 |
105 |
112 |
92 |
94 |
95 |
95 |
| call/1arg | 100 |
96 |
102 |
100 |
101 |
97 |
101 |
106 |
93 |
94 |
94 |
94 |
| call/2arg | 100 |
93 |
100 |
99 |
100 |
97 |
100 |
104 |
91 |
93 |
93 |
93 |
| call/9arg | 100 |
100 |
100 |
100 |
100 |
100 |
100 |
100 |
97 |
98 |
96 |
95 |
| call/empty | 100 |
92 |
100 |
100 |
110 |
96 |
103 |
112 |
95 |
95 |
96 |
96 |
| call/fib | 100 |
94 |
100 |
97 |
102 |
98 |
101 |
105 |
89 |
89 |
89 |
89 |
| call/method | 100 |
92 |
100 |
100 |
100 |
92 |
100 |
100 |
83 |
83 |
83 |
84 |
| call/wantarray | 100 |
101 |
105 |
106 |
111 |
108 |
110 |
114 |
94 |
93 |
94 |
95 |
| hash/copy | 100 |
100 |
100 |
97 |
100 |
98 |
100 |
104 |
87 |
87 |
86 |
87 |
| hash/each | 100 |
103 |
100 |
100 |
101 |
101 |
105 |
102 |
93 |
94 |
93 |
94 |
| hash/foreach | 100 |
92 |
100 |
100 |
101 |
98 |
105 |
110 |
89 |
91 |
91 |
91 |
| hash/foreach-sort | 100 |
99 |
101 |
101 |
107 |
100 |
106 |
107 |
86 |
87 |
87 |
87 |
| hash/get | 100 |
97 |
101 |
100 |
102 |
100 |
105 |
110 |
95 |
96 |
96 |
96 |
| hash/set | 100 |
95 |
101 |
100 |
105 |
98 |
103 |
107 |
84 |
86 |
86 |
86 |
| loop/for-c | 100 |
85 |
97 |
99 |
106 |
94 |
100 |
108 |
96 |
97 |
96 |
96 |
| loop/for-range | 100 |
97 |
100 |
100 |
105 |
96 |
100 |
107 |
97 |
100 |
100 |
100 |
| loop/for-range-const | 100 |
94 |
100 |
100 |
102 |
95 |
100 |
105 |
96 |
99 |
99 |
99 |
| loop/getline | 100 |
104 |
107 |
108 |
100 |
101 |
99 |
100 |
87 |
88 |
88 |
87 |
| loop/while | 100 |
92 |
98 |
99 |
100 |
95 |
99 |
104 |
96 |
96 |
96 |
96 |
| loop/while-my | 100 |
88 |
99 |
100 |
100 |
96 |
100 |
106 |
97 |
100 |
100 |
100 |
| re/const | 100 |
96 |
100 |
100 |
101 |
97 |
100 |
101 |
91 |
91 |
91 |
90 |
| re/w | 100 |
98 |
97 |
93 |
97 |
97 |
98 |
98 |
90 |
90 |
89 |
89 |
| startup/fewmod | 100 |
100 |
100 |
100 |
100 |
103 |
100 |
101 |
96 |
96 |
96 |
97 |
| startup/lotsofsub | 100 |
102 |
100 |
99 |
100 |
105 |
101 |
100 |
94 |
94 |
94 |
95 |
| startup/noprog | 100 |
100 |
100 |
100 |
100 |
101 |
100 |
100 |
100 |
100 |
100 |
100 |
| string/base64 | 100 |
100 |
100 |
100 |
100 |
102 |
100 |
100 |
100 |
100 |
100 |
100 |
| string/htmlparser | 100 |
100 |
100 |
100 |
100 |
103 |
102 |
102 |
97 |
97 |
97 |
97 |
| string/index-const | 100 |
96 |
100 |
100 |
106 |
99 |
102 |
109 |
93 |
96 |
97 |
97 |
| string/index-var | 100 |
100 |
100 |
100 |
100 |
85 |
99 |
100 |
96 |
98 |
98 |
97 |
| string/ipol | 100 |
94 |
100 |
100 |
101 |
100 |
100 |
104 |
91 |
95 |
96 |
96 |
| string/tr | 100 |
99 |
99 |
100 |
101 |
100 |
100 |
112 |
111 |
111 |
111 |
111 |
| AVERAGE | 100 | 97 | 100 | 100 | 102 | 99 | 102 | 105 | 92 | 93 | 93 | 93 |
Test ran on a freebsd machine that reports its uname as "FreeBSD 8.2-RELEASE #0 r218742M: Mon Feb 21 11:49:51 CET 2011 amd64".
| Lab | Perl version | Compiler | Optimization |
|---|---|---|---|
| lab1 | 5.12.3 | 4.2.1 20070719 [FreeBSD] | -O2 -pipe -fno-strict-aliasing |
| lab2 | 5.12.3 | 4.2.1 20070719 [FreeBSD] | -O2 -pipe -march=nocona -fno-strict-aliasing |
| lab3 | 5.12.3 | 4.2.1 20070719 [FreeBSD] | -O2 -pipe -march=core2 -mno-ssse3 -fno-strict-aliasing |
| lab4 | 5.12.3 | 4.2.1 20070719 [FreeBSD] | -O2 -pipe -mssse3 -march=core2 -fno-strict-aliasing |
| lab5 | 5.12.3 | 4.5.3 20110106 (prerelease) | -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc45 -fno-strict-aliasing |
| lab6 | 5.12.3 | 4.5.3 20110106 (prerelease) | -O2 -pipe -march=nocona -Wl,-rpath=/usr/local/lib/gcc45 -fno-strict-aliasing |
| lab7 | 5.12.3 | 4.5.3 20110106 (prerelease) | -O2 -pipe -march=core2 -Wl,-rpath=/usr/local/lib/gcc45 -fno-strict-aliasing |
| lab8 | 5.12.3 | 4.5.3 20110106 (prerelease) | -O2 -pipe -march=atom -Wl,-rpath=/usr/local/lib/gcc45 -fno-strict-aliasing |
| lab9 | 5.12.3 | 4.2.1 Compatible Clang Compiler | -O2 -pipe -fno-strict-aliasing |
| lab10 | 5.12.3 | 4.2.1 Compatible Clang Compiler | -O2 -pipe -march=nocona -fno-strict-aliasing |
| lab11 | 5.12.3 | 4.2.1 Compatible Clang Compiler | -O2 -pipe -march=core2 -fno-strict-aliasing |
| lab12 | 5.12.3 | 4.2.1 Compatible Clang Compiler | -O2 -pipe -march=atom -fno-strict-aliasing |