13.10.2014 Views

OPTIMIZING THE JAVA VIRTUAL MACHINE INSTRUCTION SET BY ...

OPTIMIZING THE JAVA VIRTUAL MACHINE INSTRUCTION SET BY ...

OPTIMIZING THE JAVA VIRTUAL MACHINE INSTRUCTION SET BY ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

63<br />

Test Total Weighted<br />

Condition Performance Average<br />

Change (s) (Percent)<br />

Base 0.00 0.00<br />

Load 0.75 0.24<br />

Store 0.51 0.17<br />

Load Store -0.43 -0.14<br />

Branch -3.86 -1.26<br />

Constant -0.13 -0.04<br />

Constant Widening -1.04 -0.34<br />

LSC -0.70 -0.23<br />

LSCB -4.46 -1.45<br />

Complete -7.27 -2.37<br />

Table 4.7: Kaffe Performance<br />

is also presented as a percentage of the baseline execution time. When the values<br />

in this table are examined, it is found that performing complete despecialization<br />

has the largest impact on application performance, slowing it by approximately 2.37<br />

percent. Smaller performance losses were observed for six of the other despecialization<br />

conditions tested. A small performance gain was observed for the remaining two<br />

despecialization conditions. These gains may be the result of the fact that once<br />

despecialization is performed, the number of distinct cases within the interpreter<br />

loop is reduced. This improves instruction cache performance at the expensive of the<br />

additional cost associated with executing the despecialized forms. It is also important<br />

to notice that each of the performance gains is small, representing a change of less<br />

than 0.25 percent of the baseline runtime.<br />

The single largest performance loss occurred when 202 jess was executed. In<br />

this case, the performance loss was approximately 4 percent of the baseline execution<br />

time. While any performance loss is undesirable, an average loss of only 2.37 percent<br />

and a maximum loss of approximately 4 percent are smaller than what was initially<br />

anticipated. Figure 4.8 shows the observed performance for every combination of<br />

benchmark and despecialization condition. Note that the scales used on the graphs<br />

vary in order to show as much detail as possible.<br />

4.2.4 RVM Performance<br />

The second virtual machine considered in this study was IBM’s Research Virtual<br />

Machine (RVM). It was expected that the performance losses observed for this vir-

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

Saved successfully!

Ooh no, something went wrong!