Here we present results of optimizations achieved on the selected set of benchmarks. See this for the optimization result of auto-parallelization.

>Results of Optimization
DSP up to 54%
Livermore kernels up to 84%

Click on the name of a set of benchmarks in the table above to see the details. Note that due to constant improvements to dco and the introduction of new benchmarks the underlying data might be different from the last time you saw it.

Read the text bellow to understand how the benchmarks were executed.

Most benchmarks are located on the web - please write us If you want to obtain the source code of a particular benchmark, or have any questions about it.

Execution of a benchmark

The benchmark is evaluated in the following way:
  1. compile source code by gcc and execute

    in most cases we were using
    gcc version 4.1 or later.

    in most cases the following list of options was used in addition to the processor specific compiler options:
    -S -O3 -fomit-frame-pointer -funroll-all-loops -ffast-math -mfpmath=sse

  2. use dco on the x86 assembly code produced by gcc and execute

  3. compare results of execution

    the times reported were used to calculate the code optimization improvements as following:
    1 - ( timeAfterOptimizations/timeBygccAlone )
    for example if compiler generated code run for .966 seconds and code after dco optimization run for .535 seconds the improvement of 45% was reported. Note that improvement calculated in such a way never exceed 100%. Also note that improvement of 50% means that optimized code is twice as fast as the original.

All benchmarks were executed under Linux operating system. It was ensured that benchmarks run under the same conditions on the system with the minimal possible load.

Every benchmark was executed 3 times with the time reported being neither the best nor the worst.