253.perlbmk
SPEC CPU2000 Benchmark Description File
Benchmark Name
253.perlbmk
Benchmark Author
Larry Wall, et. al.
Benchmark Program General Category
programming language
Benchmark Description
253.perlbmk is a cut-down version of Perl v5.005_03, 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: MD5 v1.7, MHonArc v2.3.3, IO-stringy v1.205, MailTools
v1.11, TimeDate v1.08
Sources for all of the freely-available components used in 253.perlbmk can
be found in $SPEC/original.src/253.perlbmk.
Input Description
The reference workload for 253.perlbmk consists of four scripts:
The primary component of the workload is the freeware email-to-HTML
converter MHonArc. Email messages are generated from a set of random
components and converted to HTML. In addition to MHonArc, which was lightly
patched to avoid file I/O, this component also uses several standard
modules from the CPAN (Comprehensive Perl Archive Network).
Another script (which also uses the mail generator for convienience)
excercises a slightly-modified version of the 'specdiff' script,
which is a part of the CPU2000 tool suite.
The third script finds perfect numbers using the standard iterative
algorithm. Both native integers and the Math::BigInt module are used.
Finally, the fourth script tests only that the psuedo-random numbers are
coming out in the expected order, and does not really contribute very much
to the overall runtime.
The training workload is similar, but not identical, to the reference
workload. The test workload consists of the non-system-specific parts of
the acutal Perl 5.005_03 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 the perfect number finder, the operating mode (BigInt or native) is
output, along with intermediate progress and, of course, the perfect
numbers.
Output for the random number check is simply every 1000th random number
generated.
Programming Language
ANSI C
Known portability issues
Perl is not 64-bit clean, and causes problems with at least one
vendor's compiler when compiled in 64-bit mode with very high
optimization.
References
Last updated: 5 October 1999