1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-06-09 16:29:34 +00:00

Test benchmark tweak

This commit is contained in:
Karol Stasiak 2017-12-20 09:54:51 +01:00
parent d9e0ad168a
commit f5f4c033f3

View File

@ -9,17 +9,20 @@ object EmuUltraBenchmarkRun {
def apply(source:String)(verifier: MemoryBank=>Unit) = {
val (Timings(t0, _), m0) = EmuUnoptimizedRun.apply2(source)
val (Timings(t1, _), m1) = EmuOptimizedRun.apply2(source)
val (Timings(ti, _), mi) = EmuOptimizedInlinedRun.apply2(source)
val (Timings(t2, _), m2) = EmuSuperOptimizedRun.apply2(source)
val (Timings(t3, _), m3) = EmuQuantumOptimizedRun.apply2(source)
val (Timings(t4, _), m4) = EmuSuperQuantumOptimizedRun.apply2(source)
val (Timings(t5, _), m5) = EmuSuperQuantumOptimizedInliningRun.apply2(source)
println(f"Before optimization: $t0%7d")
println(f"After optimization: $t1%7d")
println(f"After inlining: $ti%7d")
println(f"After superopt.: $t2%7d")
println(f"After quantum: $t3%7d")
println(f"After superquantum: $t4%7d")
println(f"After inlining: $t5%7d")
println(f"After SQ+inlining: $t5%7d")
println(f"Gain: ${(100L*(t0-t1)/t0.toDouble).round}%7d%%")
println(f"Inlining gain: ${(100L*(t0-ti)/t0.toDouble).round}%7d%%")
println(f"Superopt. gain: ${(100L*(t0-t2)/t0.toDouble).round}%7d%%")
println(f"Quantum gain: ${(100L*(t0-t3)/t0.toDouble).round}%7d%%")
println(f"Super quantum gain: ${(100L*(t0-t4)/t0.toDouble).round}%7d%%")
@ -28,6 +31,8 @@ object EmuUltraBenchmarkRun {
verifier(m0)
println(f"Running optimized")
verifier(m1)
println(f"Running optimized inlined")
verifier(mi)
println(f"Running superoptimized")
verifier(m2)
println(f"Running quantum optimized")