05.08.2014 Views

here - Stefan-Marr.de

here - Stefan-Marr.de

here - Stefan-Marr.de

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

8. Evaluation: Performance<br />

Runtime Ratio, normalized RoarVM (opt), lower is better<br />

1.0<br />

0.5<br />

0.2<br />

0.1<br />

1.0<br />

0.5<br />

0.2<br />

0.1<br />

1.0<br />

0.5<br />

0.2<br />

0.1<br />

Binary Trees<br />

Chameneos<br />

Fannkuch<br />

Fasta<br />

NBody<br />

Compiler<br />

Slopstone<br />

Smopstone<br />

Binary Trees<br />

Chameneos<br />

Fannkuch<br />

Fasta<br />

NBody<br />

Compiler<br />

Slopstone<br />

Smopstone<br />

Binary Trees<br />

Chameneos<br />

Fannkuch<br />

Fasta<br />

NBody<br />

Compiler<br />

Slopstone<br />

Smopstone<br />

RoarVM (opt)<br />

RoarVM (std)<br />

CogVM<br />

Figure 8.2.: Baseline Performance: Runtime ratio normalized to the RoarVM (opt) for<br />

the kernel benchmarks. This beanplot gives an overview of the relative performance<br />

of each of the VMs separately for each benchmark. The plot, as well as<br />

all other plots <strong>de</strong>picting ratios, uses a logarithmic scale for the y-axis.<br />

different use of primitives, allocation, arithmetic, and stack operations. See<br />

Appendix B.1 for a characterization of the benchmarks.<br />

RoarVM Variants Differences between the RoarVM variants are significant<br />

as well, but less pronounced. The RoarVM (opt) is about 23% 21 faster than<br />

the RoarVM (std). Here the performance difference ranges from a minimal<br />

speedup of 6% to a maximum speedup of 43% for the kernel benchmarks. In<br />

view of this significant difference, the RoarVM (opt) is used as baseline for<br />

the remaining benchmarks. As argued in Sec. 8.1.3, the optimizations applied<br />

to the RoarVM are realistic. T<strong>here</strong>fore, any constant overhead introduced by<br />

21 A speedup or slowdown reported as n% refers to VM 1 /VM baseline ∗ 100 − 100. In this case<br />

it is: (RoarVM (opt)/RoarVM (std)∗100) − 100<br />

212

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!