https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66986

--- Comment #4 from Ondrej Bilka <neleai at seznam dot cz> ---
Ok added updated benchmark with adding -mtune=native and tests for core2,
haswell and fx10. It stays pretty consistent.

don't inline
conditional add
branched

real    0m0.698s
user    0m0.698s
sys     0m0.000s
builtin

real    0m0.775s
user    0m0.776s
sys     0m0.000s
branch
branched

real    0m0.715s
user    0m0.716s
sys     0m0.000s
builtin

real    0m0.774s
user    0m0.774s
sys     0m0.000s
sum
branched

real    0m0.697s
user    0m0.697s
sys     0m0.000s
builtin

real    0m0.774s
user    0m0.775s
sys     0m0.000s
inline outer call
conditional add
branched

real    0m0.391s
user    0m0.391s
sys     0m0.000s
builtin

real    0m0.543s
user    0m0.543s
sys     0m0.000s
branch
branched

real    0m0.391s
user    0m0.392s
sys     0m0.000s
builtin

real    0m0.404s
user    0m0.404s
sys     0m0.000s
sum
branched

real    0m0.695s
user    0m0.696s
sys     0m0.000s
builtin

real    0m0.695s
user    0m0.696s
sys     0m0.000s
inline inner call
conditional add
branched

real    0m0.466s
user    0m0.466s
sys     0m0.000s
builtin

real    0m0.541s
user    0m0.541s
sys     0m0.000s
branch
branched

real    0m0.389s
user    0m0.388s
sys     0m0.000s
builtin

real    0m0.430s
user    0m0.427s
sys     0m0.003s
sum
branched

real    0m0.700s
user    0m0.701s
sys     0m0.000s
builtin

real    0m0.695s
user    0m0.695s
sys     0m0.000s
tigth loop
conditional add
branched

real    0m0.080s
user    0m0.079s
sys     0m0.000s
builtin

real    0m0.158s
user    0m0.158s
sys     0m0.000s
branch
branched

real    0m0.080s
user    0m0.080s
sys     0m0.000s
builtin

real    0m0.160s
user    0m0.160s
sys     0m0.000s
sum
branched

real    0m0.233s
user    0m0.232s
sys     0m0.000s
builtin

real    0m0.310s
user    0m0.311s
sys     0m0.000s

fx10

don't inline
conditional add
branched

real    0m0.803s
user    0m0.804s
sys     0m0.000s
builtin

real    0m0.861s
user    0m0.862s
sys     0m0.000s
branch
branched

real    0m0.650s
user    0m0.650s
sys     0m0.000s
builtin

real    0m0.686s
user    0m0.683s
sys     0m0.004s
sum
branched

real    0m1.300s
user    0m1.299s
sys     0m0.004s
builtin

real    0m1.347s
user    0m1.346s
sys     0m0.004s
inline outer call
conditional add
branched

real    0m0.366s
user    0m0.366s
sys     0m0.000s
builtin

real    0m0.539s
user    0m0.539s
sys     0m0.000s
branch
branched

real    0m0.367s
user    0m0.364s
sys     0m0.004s
builtin

real    0m0.416s
user    0m0.413s
sys     0m0.004s
sum
branched

real    0m1.301s
user    0m1.303s
sys     0m0.000s
builtin

real    0m1.307s
user    0m1.308s
sys     0m0.000s
inline inner call
conditional add
branched

real    0m0.587s
user    0m0.587s
sys     0m0.000s
builtin

real    0m0.590s
user    0m0.586s
sys     0m0.004s
branch
branched

real    0m0.516s
user    0m0.517s
sys     0m0.000s
builtin

real    0m0.553s
user    0m0.553s
sys     0m0.001s
sum
branched

real    0m1.294s
user    0m1.295s
sys     0m0.000s
builtin

real    0m1.310s
user    0m1.309s
sys     0m0.004s
tigth loop
conditional add
branched

real    0m0.118s
user    0m0.115s
sys     0m0.004s
builtin

real    0m0.409s
user    0m0.409s
sys     0m0.000s
branch
branched

real    0m0.154s
user    0m0.154s
sys     0m0.000s
builtin

real    0m0.262s
user    0m0.263s
sys     0m0.000s
sum
branched

real    0m0.369s
user    0m0.369s
sys     0m0.000s
builtin

real    0m0.408s
user    0m0.409s
sys     0m0.000s


core2

don't inline
conditional add
branched

real    0m1.573s
user    0m1.573s
sys     0m0.000s
builtin

real    0m1.696s
user    0m1.692s
sys     0m0.004s
branch
branched

real    0m1.455s
user    0m1.455s
sys     0m0.000s
builtin

real    0m1.332s
user    0m1.332s
sys     0m0.000s
sum
branched

real    0m1.332s
user    0m1.328s
sys     0m0.004s
builtin

real    0m1.574s
user    0m1.574s
sys     0m0.000s
inline outer call
conditional add
branched

real    0m0.850s
user    0m0.849s
sys     0m0.000s
builtin

real    0m1.211s
user    0m1.210s
sys     0m0.000s
branch
branched

real    0m0.851s
user    0m0.850s
sys     0m0.000s
builtin

real    0m0.970s
user    0m0.966s
sys     0m0.004s
sum
branched

real    0m1.091s
user    0m1.091s
sys     0m0.000s
builtin

real    0m1.108s
user    0m1.107s
sys     0m0.000s
inline inner call
conditional add
branched

real    0m1.091s
user    0m1.091s
sys     0m0.000s
builtin

real    0m1.091s
user    0m1.091s
sys     0m0.000s
branch
branched

real    0m0.850s
user    0m0.846s
sys     0m0.003s
builtin

real    0m0.970s
user    0m0.969s
sys     0m0.000s
sum
branched

real    0m1.096s
user    0m1.095s
sys     0m0.000s
builtin

real    0m1.101s
user    0m1.100s
sys     0m0.000s
tigth loop
conditional add
branched

real    0m0.126s
user    0m0.126s
sys     0m0.000s
builtin

real    0m0.369s
user    0m0.368s
sys     0m0.000s
branch
branched

real    0m0.124s
user    0m0.124s
sys     0m0.000s
builtin

real    0m0.367s
user    0m0.366s
sys     0m0.000s
sum
branched

real    0m0.365s
user    0m0.364s
sys     0m0.000s
builtin

real    0m0.627s
user    0m0.626s
sys     0m0.000s

Reply via email to