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.

> 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

Reply via email to