On Thu, Oct 23, 2008 at 5:59 AM, Xiao-Feng Li <[EMAIL PROTECTED]> wrote: > On Thu, Oct 23, 2008 at 2:54 PM, Alexei Fedotov > <[EMAIL PROTECTED]> wrote: >> Xiao Feng, >> Thanks for a good question. >> >> The optimization improves so-called "peak score" which is calculated >> from several subsequent executions. If you cache VM state in different >> files for different command lines, you may even cache pre-compiled >> class files for a particular benchmark. As I've got from a fellow SPEC >> committee member this optimization is allowed unless the released VM >> is specifically tuned to pass the spec. > > Thanks. Understand now. Yes, data cache can improve startup time obviously. > > I am wondering that, if HelloWorld takes two times of execution time > with Harmony more than RI, there should be some obvious problem for > Harmony to attack before we come to this data caching solution. For > example, Harmony might load much more classes than RI, or its loader > is much more slower, etc.
I agree with this sentiment. The suggestions brought up are interesting, I'm inclined to see more obvious, straight-forward improvements to be made. What exactly happens when a simple HelloWorld is run? Is the performance profile the same across platforms (win, linux, x86, x86_64, etc) -Nathan > >> Sorry about the third bullet. Well, I thought if I should mention >> pre-compiled classes there. I hesitate because I don't know any >> trusted research which shows that loading pre-compiled classes from >> disk is quicker than dynamic re-compilation. > > I have the same doubt about pre-compilation. > > Thanks, > xiaofeng > >> Thanks! >> >> On Thu, Oct 23, 2008 at 10:21 AM, Xiao-Feng Li <[EMAIL PROTECTED]> wrote: >>> On Thu, Oct 23, 2008 at 1:44 PM, Alexei Fedotov >>> <[EMAIL PROTECTED]> wrote: >>>> Hello Wenlong, >>>> You have addressed a very interesting topic. Let me share few ideas >>>> how to approach it: >>>> >>>> 1. The first thing I would expect to understand here is why we should >>>> care about "Hello, World" startup. SPEC jvm [0] startup scores are >>>> much more tempting to approach. Then one should compare the score with >>>> one of our competitors. Taking into account that 300 ms = 300 context >>>> switches I would not say that the number itself makes me unhappy about >>>> Harmony speed. >>>> >>>> 2. Due to some bureaucracy the following tempting [1] idea is still >>>> waiting for an experienced and accurate C coder to complete: >>>> * load classes into bootstrap class loader once >>>> * store the internal representation of classes as a memory mapped file; >>>> * next time, load the file if it exists. >>> >>> Fedotov, thanks. I guess this idea can only improve the second-time >>> startup time? Is this be useful for SPECJVM startup score? Thanks. >>> >>> Btw, your email lost bullet 3. :) >>> >>> Thanks, >>> xiaofeng >>> >>>> 4. If you don't like C, there are tunable things in a class library >>>> you may find using Gregory's JVMTI profiler [2]. >>>> >>>> [0] http://www.spec.org/jvm2008/ >>>> [1] a research shows +10% on "Hello, World" >>>> [2] two first attachments at >>>> https://issues.apache.org/jira/browse/HARMONY-4569 >>>> >>>> On Thu, Oct 23, 2008 at 12:29 AM, Tim Ellison <[EMAIL PROTECTED]> wrote: >>>>> >>>>> Wenlong Li (JIRA) wrote: >>>>> > The startup time is long for the simple helloworld program. On a Core >>>>> > 2 Quad-core processor, running the simple helloworld program will take >>>>> > more than 300 ms. >>>>> > Can we reduce the startup cost? >>>>> >>>>> Yes, I hope so ... concrete suggestions or analysis of startup costs are >>>>> welcome. >>>>> >>>>> Regards, >>>>> Tim >>>> >>>> >>>> >>>> -- >>>> With best regards, >>>> Alexei >>>> >>> >>> >>> >>> -- >>> http://xiao-feng.blogspot.com >>> >> >> >> >> -- >> With best regards, >> Alexei >> > > > > -- > http://xiao-feng.blogspot.com >
