On Apr 25, 2008, at 10:32 AM, Egor Pasko wrote:
On the 0x431 day of Apache Harmony Naveen Neelakantam wrote:
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?
Oh, I forgot. Nice catch! same in GuardedDevirtualizationPass.
Phew. Ok, that's what I'm currently implementing. I'll report back
when I have something to share (hopefully a success story).