Home | History | Annotate | only in /external/valgrind/perf
Up to higher level directory
NameDateSize
bigcode.c21-Aug-20183.4K
bigcode1.vgperf21-Aug-201840
bigcode2.vgperf21-Aug-201848
bz2.c21-Aug-2018208.4K
bz2.vgperf21-Aug-201810
fbench.c21-Aug-201825.1K
fbench.vgperf21-Aug-201813
ffbench.c21-Aug-201810.2K
ffbench.vgperf21-Aug-201814
heap.c21-Aug-20181K
heap.vgperf21-Aug-201811
heap_pdb4.vgperf21-Aug-201819
Makefile.am21-Aug-2018750
Makefile.in21-Aug-201841.5K
many-loss-records.c21-Aug-20185.3K
many-loss-records.vgperf21-Aug-201890
many-xpts.c21-Aug-2018981
many-xpts.vgperf21-Aug-201864
memrw.c21-Aug-20184.7K
memrw.vgperf21-Aug-201813
README21-Aug-20183.1K
sarp.c21-Aug-20181.3K
sarp.vgperf21-Aug-201811
test_input_for_tinycc.c21-Aug-2018190.1K
tinycc.c21-Aug-2018690.1K
tinycc.vgperf21-Aug-201846
vg_perf21-Aug-201817.4K
vg_perf.in21-Aug-201817.4K

README

      1 =============================================================================
      2 Notes about performance benchmarks
      3 =============================================================================
      4 For each benchmark, here is a brief description and notes about its
      5 strengths and weaknesses.
      6 
      7 -----------------------------------------------------------------------------
      8 Artificial stress tests
      9 -----------------------------------------------------------------------------
     10 bigcode1, bigcode2:
     11 - Description: Executes a lot of (nonsensical) code.
     12 - Strengths:   Demonstrates the cost of translation which is a large part
     13                of runtime, particularly on larger programs.
     14 - Weaknesses:  Highly artificial.
     15 
     16 heap:
     17 - Description: Does a lot of heap allocation and deallocation, and has a lot
     18                of heap blocks live while doing so.
     19 - Strengths:   Stress test for an important sub-system; bug #105039 showed
     20                that inefficiencies in heap allocation can make a big
     21                difference to programs that allocate a lot.
     22 - Weaknesses:  Highly artificial -- allocation pattern is not real, and only
     23                a few different size allocations are used.
     24 
     25 sarp:
     26 - Description: Does a lot of stack allocation and deallocation.
     27 - Strengths:   Tests for a specific performance bug that existed in 3.1.0 and
     28                all earlier versions.
     29 - Weaknesses:  Highly artificial.
     30 
     31 -----------------------------------------------------------------------------
     32 Real programs
     33 -----------------------------------------------------------------------------
     34 bz2:
     35 - Description: Burrows-Wheeler compression and decompression.
     36 - Strengths:   A real, widely used program, very similar to the 256.bzip2
     37                SPEC2000 benchmark.  Not dominated by any code, the hottest
     38                55 blocks account for only 90% of execution.  Has lots of
     39                short blocks and stresses the memory system hard.
     40 - Weaknesses:  None, really, it's a good benchmark.
     41 
     42 fbench:
     43 - Description: Does some ray-tracing.
     44 - Strengths:   Moderately realistic program.
     45 - Weaknesses:  Dominated by sin and cos, which are not widely used, and are
     46                hardware-supported on x86 but not on other platforms such as
     47                PPC.
     48 
     49 ffbench: 
     50 - Description: Does a Fast Fourier Transform (FFT).
     51 - Strengths:   Tests common FP ops (mostly adding and multiplying array
     52                elements), FFT is a very important operation.
     53 - Weaknesses:  Dominated by the inner loop, which is quite long and flatters
     54                Valgrind due to the small dispatcher overhead.
     55 
     56 tinycc:
     57 - Description: A very small and fast C compiler.  A munged version of
     58                Fabrice Bellard's TinyCC compiling itself multiple times.
     59 - Strengths:   A real program, lots of code (top 100 blocks only account for
     60                47% of execution), involves large irregular data structures
     61                (presumably, since it's a compiler).  Does lots of
     62                malloc/free calls and so changes that make a big improvement
     63                to perf/heap typically cause a small improvement.
     64 - Weaknesses   None, really, it's a good benchmark.
     65 
     66