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.5. Assessment of Performance Characteristics<br />

Runtime Ratio, normalized to<br />

RoarVM+OMOP (full), lower is better<br />

1.08<br />

1.06<br />

1.04<br />

1.02<br />

1.00<br />

0.98<br />

0.96<br />

RoarVM+OMOP (full)<br />

RoarVM+OMOP (opt)<br />

Binary Trees<br />

Fannkuch<br />

Fasta<br />

NBody<br />

Slopstone<br />

Figure 8.9.: Customization Constant, Enforced Execution: Comparing<br />

RoarVM+OMOP (opt) with RoarVM+OMOP (full) to assess the in<strong>here</strong>nt<br />

overhead of checking the customization constant during fully enforced execution.<br />

The benchmarks utilize the OMOP but all intercession handlers implement<br />

standard semantics. The results show that the additional check leads to an<br />

average runtime overhead of 3%.<br />

Fig. 8.10 <strong>de</strong>picts the results in the form of beanplots. The microbenchmarks<br />

show a significant benefit of avoiding reification for uncustomized intercession<br />

handlers. Especially the microbenchmarks for message sends for LRSTM<br />

show the benefit. Since the LRSTM system does not require message sends to<br />

be customized, they are between 2x and 2.5x faster, <strong>de</strong>pending on the number<br />

of arguments.<br />

The kernel benchmarks on the other hand show more realistically what<br />

the benefit of this optimization could be for application co<strong>de</strong>. The average<br />

measured gain is 5%. For the Fannkuch benchmark on AmbientTalkST, the<br />

overhead of the additional check is higher and performance is not improved,<br />

because all intercession handlers have to be triggered. Thus, this benchmark<br />

shows a slowdown of 2%. The average 5% gain for the given benchmarks and<br />

concurrency mo<strong>de</strong>ls is rather mo<strong>de</strong>st. For other concurrency mo<strong>de</strong>ls, such<br />

as Clojure actors, higher benefits can be expected, because for instance the<br />

reading of object fields does not need to be reified.<br />

225

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

Saved successfully!

Ooh no, something went wrong!