GCC 4.8 LTO Link-Time Optimizations

Some GCC 4.8 link-time optimization benchmarks for a future article on Phoronix.com.

HTML result view exported from: https://openbenchmarking.org/result/1302092-FO-GCC48LTO575&sor&grt.

GCC 4.8 LTO Link-Time OptimizationsProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen Resolution-O3 -march=native-O3 -march=native -flto-O3 -march=native -flto -fwhole-programIntel Core i7-3770K @ 3.50GHz (8 Cores)ECS Z77H2-A2X v1.0Intel Xeon E3-1200 v2/3rd8192MB60GB OCZ VERTEX2NVIDIA GeForce GTX 550 Ti 1024MB (405/324MHz)Realtek ALC892DELL P2210HRealtek RTL8111/8168B + Intel Centrino Advanced-N 6205Ubuntu 13.043.8.0-4-generic (x86_64)Unity 6.6.0X Server 1.13.2nouveau 1.0.63.0 Mesa 9.0.2 Gallium 0.4GCC 4.8.0 20130121ext41920x1080OpenBenchmarking.orgCompiler Details- --build=x86_64-linux-gnu --disable-browser-plugin --disable-nls --disable-werror --enable-checking=yes --enable-clocale=gnu --enable-gnu-unique-object --enable-gtk-cairo --enable-java-awt=gtk --enable-java-home --enable-languages=c,ada,c++,java,go,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-objc-gc --enable-plugin --enable-shared --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-snap-amd64/jre --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-snap-amd64 --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-snap-amd64 --with-multilib-list=m32,m64,mx32 --with-tune=generic -v Processor Details- Scaling Governor: ondemand

GCC 4.8 LTO Link-Time Optimizationsbullet: Raytestsbullet: 3000 Fallbullet: 1000 Stackbullet: 1000 Convexbullet: 136 Ragdollsbullet: Prim Trimeshbullet: Convex Trimeshbyte: Dhrystone 2c-ray: Total Timegraphics-magick: Blurgraphics-magick: Sharpengraphics-magick: Resizinggraphics-magick: HWB Color Spacegraphics-magick: Local Adaptive Thresholdinghimeno: Poisson Pressure Solverencode-opus: WAV, Opus Encode, Opus Decodesmallpt: Global Illumination Renderer; 100 Samplesbuild-php: Time To Compile-O3 -march=native-O3 -march=native -flto-O3 -march=native -flto -fwhole-program3.305.005.885.773.601.091.3730148598.8328.15140951671961181611.109.003843.743.385.467.006.123.941.131.4337789032.2728.10141951682011181723.208.8938101.343.365.236.506.033.801.111.4037854081.9728.11141961682021181675.898.893887.48OpenBenchmarking.org

Bullet Physics Engine

Test: Raytests

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: Raytests-O3 -march=native-O3 -march=native -flto -fwhole-program-O3 -march=native -flto0.76051.5212.28153.0423.8025SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 33.303.363.38-flto -fwhole-program-flto1. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: 3000 Fall

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 3000 Fall-O3 -march=native-O3 -march=native -flto -fwhole-program-O3 -march=native -flto1.22852.4573.68554.9146.1425SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 35.005.235.46-flto -fwhole-program-flto1. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: 1000 Stack

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 1000 Stack-O3 -march=native-O3 -march=native -flto -fwhole-program-O3 -march=native -flto246810SE +/- 0.02, N = 3SE +/- 0.00, N = 3SE +/- 0.02, N = 35.886.507.00-flto -fwhole-program-flto1. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: 1000 Convex

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 1000 Convex-O3 -march=native-O3 -march=native -flto -fwhole-program-O3 -march=native -flto246810SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 35.776.036.12-flto -fwhole-program-flto1. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: 136 Ragdolls

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 136 Ragdolls-O3 -march=native-O3 -march=native -flto -fwhole-program-O3 -march=native -flto0.88651.7732.65953.5464.4325SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 33.603.803.94-flto -fwhole-program-flto1. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: Prim Trimesh

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: Prim Trimesh-O3 -march=native-O3 -march=native -flto -fwhole-program-O3 -march=native -flto0.25430.50860.76291.01721.2715SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 31.091.111.13-flto -fwhole-program-flto1. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: Convex Trimesh

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: Convex Trimesh-O3 -march=native-O3 -march=native -flto -fwhole-program-O3 -march=native -flto0.32180.64360.96541.28721.609SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 31.371.401.43-flto -fwhole-program-flto1. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

BYTE Unix Benchmark

Computational Test: Dhrystone 2

OpenBenchmarking.orgLPS, More Is BetterBYTE Unix Benchmark 3.6Computational Test: Dhrystone 2-O3 -march=native -flto -fwhole-program-O3 -march=native -flto-O3 -march=native8M16M24M32M40MSE +/- 5452.52, N = 3SE +/- 31975.89, N = 3SE +/- 6843.30, N = 337854081.9737789032.2730148598.83-flto -fwhole-program-flto1. (CC) gcc options: -O3 -march=native

C-Ray

Total Time

OpenBenchmarking.orgSeconds, Fewer Is BetterC-Ray 1.1Total Time-O3 -march=native -flto-O3 -march=native -flto -fwhole-program-O3 -march=native714212835SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 328.1028.1128.15-flto-flto -fwhole-program1. (CC) gcc options: -lm -lpthread -O3 -march=native

GraphicsMagick

Operation: Blur

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: Blur-O3 -march=native -flto -fwhole-program-O3 -march=native -flto-O3 -march=native306090120150SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3141141140-flto -fwhole-program-flto1. (CC) gcc options: -std=gnu99 -fopenmp -O3 -march=native -pthread -lXext -lSM -lICE -lX11 -lbz2 -lz -lm -lgomp -lpthread

GraphicsMagick

Operation: Sharpen

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: Sharpen-O3 -march=native -flto -fwhole-program-O3 -march=native -flto-O3 -march=native20406080100SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3969595-flto -fwhole-program-flto1. (CC) gcc options: -std=gnu99 -fopenmp -O3 -march=native -pthread -lXext -lSM -lICE -lX11 -lbz2 -lz -lm -lgomp -lpthread

GraphicsMagick

Operation: Resizing

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: Resizing-O3 -march=native -flto -fwhole-program-O3 -march=native -flto-O3 -march=native4080120160200SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3168168167-flto -fwhole-program-flto1. (CC) gcc options: -std=gnu99 -fopenmp -O3 -march=native -pthread -lXext -lSM -lICE -lX11 -lbz2 -lz -lm -lgomp -lpthread

GraphicsMagick

Operation: HWB Color Space

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: HWB Color Space-O3 -march=native -flto -fwhole-program-O3 -march=native -flto-O3 -march=native4080120160200SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3202201196-flto -fwhole-program-flto1. (CC) gcc options: -std=gnu99 -fopenmp -O3 -march=native -pthread -lXext -lSM -lICE -lX11 -lbz2 -lz -lm -lgomp -lpthread

GraphicsMagick

Operation: Local Adaptive Thresholding

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: Local Adaptive Thresholding-O3 -march=native -flto -fwhole-program-O3 -march=native -flto-O3 -march=native306090120150SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3118118118-flto -fwhole-program-flto1. (CC) gcc options: -std=gnu99 -fopenmp -O3 -march=native -pthread -lXext -lSM -lICE -lX11 -lbz2 -lz -lm -lgomp -lpthread

Himeno Benchmark

Poisson Pressure Solver

OpenBenchmarking.orgMFLOPS, More Is BetterHimeno Benchmark 3.0Poisson Pressure Solver-O3 -march=native -flto-O3 -march=native -flto -fwhole-program-O3 -march=native400800120016002000SE +/- 0.83, N = 3SE +/- 31.85, N = 6SE +/- 0.60, N = 31723.201675.891611.10-flto-flto -fwhole-program1. (CC) gcc options: -O3 -march=native

Opus Codec Encoding

WAV, Opus Encode, Opus Decode

OpenBenchmarking.orgSeconds, Fewer Is BetterOpus Codec Encoding 1.0.1WAV, Opus Encode, Opus Decode-O3 -march=native -flto-O3 -march=native -flto -fwhole-program-O3 -march=native3691215SE +/- 0.00, N = 5SE +/- 0.00, N = 5SE +/- 0.00, N = 58.898.899.00-flto-flto -fwhole-program1. (CC) gcc options: -std=gnu99 -O3 -march=native -fPIE -pie -logg -lm -lopus

Smallpt

Global Illumination Renderer; 100 Samples

OpenBenchmarking.orgSeconds, Fewer Is BetterSmallpt 1.0Global Illumination Renderer; 100 Samples-O3 -march=native-O3 -march=native -flto-O3 -march=native -flto -fwhole-program918273645SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3383838-flto-flto -fwhole-program1. (CXX) g++ options: -fopenmp -O3 -march=native

Timed PHP Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed PHP Compilation 5.2.9Time To Compile-O3 -march=native-O3 -march=native -flto -fwhole-program-O3 -march=native -flto20406080100SE +/- 0.02, N = 3SE +/- 0.21, N = 3SE +/- 0.15, N = 343.7487.48101.34-flto -fwhole-program-flto1. (CC) gcc options: -O3 -march=native -pedantic -ldl -lpthread -lz -lm


Phoronix Test Suite v10.8.5