I grabbed perlbench from CPAN and did some more benchmarks. These
confirmed what we already suspected, i.e. there are no significant
performance differences in Perl itself between 5.6.1, 5.8.0, and 5.8.1,
but the stock Perl on Red Hat 9 (which is compiled with threads) is
significantly slower than a default compile of any recent Perl on the
same system.
All of the Perls that I compiled were done with default options.
The output of perlbench is attached.
- Perrin
A) perl-5.006001
path = /usr/local/perl56/bin/perl
cc = cc
optimize = -O2
ccflags = -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64
usemymalloc = n
B) perl-5.008
path = /usr/local/perl580/bin/perl
cc = cc
optimize = -O3
ccflags = -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-I/usr/include/gdbm
usemymalloc = n
C) perl-5.008001
path = /usr/local/perl581/bin/perl
cc = cc
optimize = -O3
ccflags = -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm
usemymalloc = n
D) perl-5.008
path = /usr/bin/perl
cc = gcc
optimize = -O2 -g -pipe -march=i386 -mcpu=i686
ccflags = -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-I/usr/include/gdbm
usemymalloc = n
A B C D
---- ---- ---- ----
arith/mixed 100 95 93 82
arith/trig 100 92 93 82
array/copy 100 108 103 81
array/foreach 100 110 118 83
array/index 100 112 116 95
array/pop 100 105 99 79
array/shift 100 103 99 78
array/sort-num 100 92 94 72
array/sort 100 99 99 89
call/0arg 100 100 100 90
call/1arg 100 97 103 88
call/2arg 100 100 103 87
call/9arg 100 111 110 90
call/empty 100 98 99 74
call/fib 100 109 106 95
call/method 100 106 107 86
call/wantarray 100 104 104 78
hash/copy 100 114 117 89
hash/each 100 95 95 76
hash/foreach-sort 100 100 100 83
hash/foreach 100 109 113 95
hash/get 100 104 106 70
hash/set 100 83 81 75
loop/for-c 100 107 104 95
loop/for-range-const 100 97 110 81
loop/for-range 100 102 114 90
loop/getline 100 88 88 66
loop/while-my 100 97 104 84
loop/while 100 88 103 84
re/const 100 94 87 59
re/w 100 93 90 72
startup/fewmod 100 66 61 45
startup/lotsofsub 100 93 92 65
startup/noprog 100 84 80 52
string/base64 100 106 105 91
string/htmlparser 100 99 92 77
string/index-const 100 92 95 50
string/index-var 100 95 98 74
string/ipol 100 97 97 89
string/tr 100 101 93 100
AVERAGE 100 99 99 80
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html