SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Sponsored Links

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files
Notes about performance benchmarks
For each benchmark, here is a brief description and notes about its strengths and weaknesses.
Artificial stress tests
bigcode1, bigcode2:
- Description: Executes a lot of (nonsensical) code. - Strengths: Demonstrates the cost of translation which is a large part

of runtime, particularly on larger programs. - Weaknesses: Highly artificial.

heap
- Description: Does a lot of heap allocation and deallocation, and has a lot

of heap blocks live while doing so. - Strengths: Stress test for an important sub-system; bug #105039 showed

that inefficiencies in heap allocation can make a big difference to programs that allocate a lot. - Weaknesses: Highly artificial -- allocation pattern is not real, and only

a few different size allocations are used.

sarp
- Description: Does a lot of stack allocation and deallocation. - Strengths: Tests for a specific performance bug that existed in 3.1.0 and

all earlier versions. - Weaknesses: Highly artificial.


Real programs
bz2:
- Description: Burrows-Wheeler compression and decompression. - Strengths: A real, widely used program, very similar to the 256.bzip2
               SPEC2000 benchmark.  Not dominated by any code, the hottest
               55 blocks account for only 90% of execution.  Has lots of
               short blocks and stresses the memory system hard.

- Weaknesses: None, really, it's a good benchmark.

fbench
- Description: Does some ray-tracing. - Strengths: Moderately realistic program. - Weaknesses: Dominated by sin and cos, which are not widely used, and are

hardware-supported on x86 but not on other platforms such as PPC.

ffbench:
- Description: Does a Fast Fourier Transform (FFT). - Strengths: Tests common FP ops (mostly adding and multiplying array

elements), FFT is a very important operation. - Weaknesses: Dominated by the inner loop, which is quite long and flatters

Valgrind due to the small dispatcher overhead.

tinycc
- Description: A very small and fast C compiler. A munged version of

Fabrice Bellard's TinyCC compiling itself multiple times. - Strengths: A real program, lots of code (top 100 blocks only account for

47% of execution), involves large irregular data structures (presumably, since it's a compiler). Does lots of malloc/free calls and so changes that make a big improvement to perf/heap typically cause a small improvement. - Weaknesses None, really, it's a good benchmark.


Sponsored Links

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.