harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xiao-Feng Li" <xiaofeng...@gmail.com>
Subject Re: [performance] Startup cost is high for Harmony (HARMONY-6002)
Date Thu, 23 Oct 2008 10:59:24 GMT
On Thu, Oct 23, 2008 at 2:54 PM, Alexei Fedotov
<alexei.fedotov@gmail.com> 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.

> 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 <xiaofeng.li@gmail.com> wrote:
>> On Thu, Oct 23, 2008 at 1:44 PM, Alexei Fedotov
>> <alexei.fedotov@gmail.com> 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 <t.p.ellison@gmail.com> 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

Mime
View raw message