On Apr 25, 2008, at 8:35 AM, Egor Pasko wrote:
The problem is that a staged optimizing-compiler (e.g. server.emconf)
can make it difficult to isolate the performance effects of a
particular compiler optimization or GC algorithm because the compiler
runs concurrently with the application/GC.
A reasonable solution to this problem is the following:
1) Run the application with the staged compiler enabled and collect a
log of its actions.
2) When measuring performance, run the application twice in a row,
within the same JVM instance. During the first run the JVM consumes
the log produced in (1) and uses it to optimize the code exactly the
same as in (1). During the second run the compiler is disabled and
measurements are made.
then just dump profile at EdgeProfilerAnnotationPass and then reload
in (2). Should solve the problem, IMHO.
Really? That seems insufficient because of value-profile-based
devirtualization. The edge profile is only part of the story right?