400.perlbench
SPEC CPU2006 Benchmark Description

Benchmark Name

400.perlbench


Benchmark Authors

Larry Wall, et. al.


Benchmark Program General Category

Programming language


Benchmark Description

400.perlbench is a cut-down version of Perl v5.8.7, the popular scripting language. SPEC's version of Perl has had most of OS-specific features removed. In addition to the core Perl interpreter, several third-party modules are used:

Sources for all of the freely-available components used in 400.perlbench can be found in $SPEC/redistributable_sources/original/400.perlbench/ on your SPEC CPU2006 DVD.


Input Description

The reference workload for 400.perlbench consists of three scripts:

The training workload is similar, but not identical, to the reference workload from CPU2000. The test workload consists of the non-system- specific parts of the actual Perl 5.8.7 test harness.


Output Description

In the case of the mail-based benchmarks, a line with salient characteristics (number of header lines, number of body lines, etc) is output for each message generated. During processing, MD5 hashes of the contents of output "files" (in memory) are computed and output. For SpamAssassin, the message's score and the rules that it triggered are also output.


Programming Language

ANSI C


Known portability issues

There are some known aliasing issues. The internal data structures that represent Perl's variables are accessed in such as a way as to violate ANSI aliasing rules. Compilation with optimizations that rely on strict compliance to ANSI C aliasing rules will most likely produce binaries that will not validate.


Portability issues fixed subsequent to the release of SPEC CPU2006 V1.0


References


Last updated: $Date: 2008-04-12 08:31:17 -0400 (Sat, 12 Apr 2008) $