Testing LLVM Clang 3.5's Code Generation Optimizations

Written by Michael Larabel in Software on 28 June 2014 at 12:18 PM EDT. Page 2 of 5. 3 Comments.
LLVM Clang 3.5 Optimization Level Benchmarks

There wasn't much in the way of performance changes overall for the SciMark2 benchmark, but when passing "-march=native" for taking advantage of the latest instruction sets offered by this (refreshed) Haswell processor, there was a small performance boost.

LLVM Clang 3.5 Optimization Level Benchmarks

It was with SciMark's Dense LU Matrix Factorization test where the "-march=native" tuning had yielded the significant performance advantage over the generic x86_64 instructions.

LLVM Clang 3.5 Optimization Level Benchmarks

Next up are the GraphicsMagick benchmark results... Going from no optimizations to the most basic level (-O1) yielded the performance being more than doubled and then when going from the mid-range optimizations to -O3 led to the performance being maxed out. Interestingly, -O3 with -march=native had led to a performance drop worse than even a generic -O1 level.

LLVM Clang 3.5 Optimization Level Benchmarks

Fortunately with GraphicsMagick's sharpen test there was no performance regression when using the -march=native flag and it did deliver the best performance.


Related Articles