System Test Suite
This is the test that PCMark uses to compose an overall PCMark score.
File Compression / De-compression
For file compression and decompression tasks they use the Zlib library version 1.1.4 For
this test, the input data files are:
_ A 2 Megabyte executable
_ A 2 Megabyte Microsoft® Word document
_ A 7.4 Megabyte AVI video file
_ A 2.7 Megabyte DDS texture file
The test is run continuously for 20 seconds. The result is in Megabytes processed per
Note that in the default setup the File Compression test is run concurrently with the File
Encryption test. Also, the File Decompression test is run concurrently with the Image
For the grammar checking, task they use the Link Grammar Parsing Library. It was developed
at the School of Computer Science at Carnegie Mellon University. The source code and
binaries are freely available at this site.
Grammar Checking is integer computation and primarily stresses the CPU.
Link Grammar Parsing Library version 4.2 is used. The input for this test is a 130 Kilobyte
text document. The test is run continuously for 20 seconds. The result is in Kilobytes
processed per second.
Note that in the default setup the Grammar Check test is run concurrently with the Virus
Web Page Rendering
For the Web Page Rendering task it uses Microsoft Internet Explorer 6. The goal
for this test is to measure the performance of rendering of web pages after they have
already been downloaded. Web page rendering is integer computation and stresses both the CPU
and the memory subsystem. Data for this test are three html pages and related images. These
* A 200 Kilobyte web page representing a typical company main page
* A web page containing 4 images (total size approximately 1.4 Megabyte) representing
* A 160 Kilobyte web page containing text representing rendering of documentation
The test is run continuously for 20 seconds. The result is in Pages processed per
For the Image Processing task PCMark uses the Standard JPEG library from the Independent
JPEG Group. Image processing is integer computation and primarily stresses the CPU. The JPEG
decoding pipeline uses fixed-point IDCT and RGB-24 output pixel format. The input image is
decoded one scan line at the time to a buffer to provide cache coherent memory usage. The
input data files are:
* A 130 Kilobyte file
* Two 900 Kilobyte files
* A 1.1 Megabyte file
The image compression ratios for these files vary from 3 to 18 with the content varying from
photographs to screenshots. The test is run continuously for 20 seconds. The result is in
millions of pixels (MPixels) per second.
Note that in the default setup the Image Processing test is run concurrently with the File
For the Audio Conversion task it uses Ogg Vorbis libraries developed by xiph.org. Ogg Vorbis
uses a comparable approach to MP3. Audio Conversion uses floating-point operations and
stresses mostly the CPU. Ogg Vorbis libraries libogg 1.0
and libvorbis 1.0 are used. This test encodes a 1.8 Megabyte uncompressed WAV audio file
into Ogg Vorbis format. The result is in Kilobytes processed per second.
For the Video Compression task they have chosen WMV and DivX as the target formats. These
are two popular
formats that compress well and hence are convenient for use on PCs with limited disk space
and for sharing
over networks. The process for Video Compression involves encoding video data from one
format to a more
compact format. Video compression primarily stresses the CPU with floating point operations.
For both WMV
and DivX compression results are in Frames processed per second.
WMV Compression: For the WMV Compression task it uses Windows Media encoder 9 which
must be preinstalled on the PC. For this test the input is lower resolution (320x240) video
representing a downloadable
movie clip. It is a 1.8 Megabyte MPEG file that is encoded to the WMV data format. The
encoding uses a
constant bit-rate of 1000 Kilobytes per second for video and 160 Kilobytes per second for
DivX Compression: For the DivX Compression task they use DivX video encoder 5.0.5
included with PCMark04.
This test uses larger resolution (720x480) video. It is a 7.4 Megabyte DV format file
that is first decoded
internally to a buffer from and then encoded to the DivX format. The decoding and encoding
are performed in
separate threads. This setup is typical of commercial applications. The bit-rate for
encoding is 4000 Kilobytes
per second. Note that as DivX Compression reads and writes to the hard disk, hard disk
performance may have
a minor effect on the results.
The Graphics Memory test is designed to stress the video memory subsystem in same manner as
typical Windows desktop applications. In home usage, common activities that affect the video
memory are moving windows, resizing windows, and scrolling through documents.
The Graphics Memory test stresses CPU, memory, AGP graphics bus and graphics memory
subsystem. These tests are written by Futuremark and do not include any public domain or
commercial code. They use the Microsoft DirectX APIs and are designed specifically to
isolate Video Memory Performance.
The test creates a back-buffered primary surface with 1024 x 768 (16 bit) resolution in
DX-exclusive mode. A
second work surface is created off-screen that is twice as high. For each frame, the work
surface is updated by
transforming data through the AGP bus with a scrolling speed of 64 scan lines per second.
The work surface is
then copied every frame to the displayed primary surface to stress the internal memory
The test is run continuously for 10 seconds. The result is in Frame updates per second.
Physics Calculation and 3D Graphics
This test measures 3D game performance on home PCs in DirectX 9 and Havok Physics engine 2.1.
This test is a
real-time rendering of several falling
blocks. As they fall they collide with each other and their surroundings. Note that this is
not an animation or playback of recorded events. All 3D graphics and physics computations
are being performed in real-time –
exactly as in 3D games.
For this test, the 3D graphics part stresses the 3D graphics subsystem with integer
operations and the physics
part stresses the CPU with floating point operations. For the 3D graphics workload they use
high-polygon throughput. The physics workload consists of rigid body calculations and
collisions. There are 600
blocks and 4 light sources in the scene. The test uses frame-based rendering an approach that
forces the same number of frames to be generated on all PCs.
This ensures the
same workload regardless of the hardware used. The result of this test is in Frames rendered
For the Virus Scan task, they use the F-Secure Anti-Virus program, Virus scanning stresses
the CPU and memory with integer operations. In this test the scanner engine consists of
two DLLs and a small virus database file. Twenty-one files of different types totaling
Megabytes are scanned. The files are scanned consecutively in a loop for 20 seconds. The
result is in
Megabytes scanned per second. The hard disk drive may have a minor effect on the result.
Note that as virus scanning is typically performed in the background, the Virus Scan test is
run concurrently (in a
separate thread) with the Grammar Check test.
File Encryption / Decryption
Encryption is the conversion of data into a form (called a ciphertext) that cannot be easily
unauthorized people. Decryption is the process of converting encrypted data back into its
original form, so it can
be understood. Although the use of encryption/decryption is as old as the art of
communication, it is particularly
important for current day networks, which may be easier to tap into and can carry highly
Many companies already enforce policies where all emails must be encrypted.
For the File Encryption and Decryption task they use the Blowfish Algorithm.
Blowfish is a symmetric block cipher that can be used as a drop-in replacement for DES or
IDEA. It takes a
variable-length key, from 32 bits to 448 bits, making it ideal for both domestic and
exportable use. Blowfish was designed in 1993 by Bruce Schneier as a fast, free alternative
to existing encryption algorithms. Since then it
been analyzed considerably, and is gaining acceptance as a strong encryption algorithm.
Blowfish is unpatented
and license-free, and is available free for all uses.
Encryption and Decryption stress the CPU with integer operations. For both PCMark uses the
Crypto++ library version
5.0 (www.cryptopp.com). This is a free C++ class library containing implementations of
algorithms including Blowfish. The input files are: