harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikhail Fursov" <mike.fur...@gmail.com>
Subject Re: performance of drlvm
Date Fri, 28 Jul 2006 05:39:46 GMT
On 7/27/06, Stefano Mazzocchi <stefano@apache.org> wrote:
> For server side software, the warm-up time is not a big deal, but for
> client side software, it's a huge deal if Eclipse (or your, ehm, firefox
> extension written in java <grin>) starts up in 0.5 seconds instead of 5.

AFAIK the Eclipse (or client-app) startup is affected by class
loading/verification mostly. The time percent of managed code execution or
compilation is low. SUN starts Eclipse very fast but it has interpreter!

To get the real numbers: run any PMU profiling tool: e.g. VTune, and check
the time distribution between different shared libraries. The time for
'jitrino' library is the time of compilation. The time of 'gc' library is GC
overhead. The time for 'vmcore' library is VM time that for Eclipse startup
is the time distributed between class loading/verification code and helper
method calls from managed (Java) code. The time for 'unknown' library is the
time of managed code execution.
If you can drill down into vmcore library time distribution I suppose the
most of the time will be spent on class loading/verification. Anyway you can
check it easily by yourself, because now I'm posting my thoughts but not the
facts :)

The another option is AOT (ahead of time compilation) and this technique is
used by GCJ. In this case all classes are compiled to native code before
program execution. This approach could be very useful in some scenarios and
I think its not too hard to prototype in drlvm if you are interested in such
kind of research.

Mikhail Fursov

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message