Table III. Overheads of various SPP
No optimization Random SPP SPP with heuristics Aggressive approx.
. unoptimized Steps 1–2).
SPP (both random and with heuristics) is minimal, and the main explanation is probably that the resulting frequency of accesses to the ThreadCPUAccount remains fairly high, due to the overall misprediction rate of 28%. Comparatively, the aggressive approximation modifies the ThreadCPUAccount far less frequently, but at the cost of a significant loss of precision. Table III summarizes these results, along with the numbers that were already given in Table II. Section 7.4 outlines some opportunities for further improvements of our optimizations, including the SPP scheme.
7. Evaluation and Discussion
We present in this section the benefits, limitations, and possible exten- sions of this work, starting with an overall quantitative assessment of the proposed optimizations.
7.1. Optimal Optimization Combinations
At this point, we know from all preceding experiments which partial optimizations are best, and can aggregate them in order to present the per-platform optimal settings:
− For Sun JDK 1.5.0, interpreted mode: SPP on top of Wrap- per rewriting for JVM98 and Wrapper rewriting (with code duplication) for JDK.
− For Sun JDK 1.5.0, client mode: SPP on top of Wrapper rewriting for JVM 98, Simple rewriting for JDK.
− For Sun JDK 1.5.0, server mode: SPP on top of Wrapper rewriting for JVM 98, Simple rewriting for JDK.