harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dmitry Egorov <d.ego...@inbox.ru>
Subject Re: [classlib] [archive] Re: jar and zip optimizations
Date Mon, 07 Apr 2008 16:25:22 GMT
Hello, Mark.

> I'm curious to know whether you plan to make zlib optimisations that are
> harmony specific.  If not, then it would be much better to contribute
> them back to the zlib project directly and not maintain them in the
> harmony project.

No, this optimizations are not Harmony specific, but  uses external 
optimization library, which is not free. I already have optimized zlib, 
so I just need to build it into Harmony.

My current goal is to make a small step - integrate my zlib into vm 
build system on my computer and see if I get considerable Harmony's 
performance increase. Based on results I can therefore think of 
integrating it in a "good way", which means searching for the 
optimization library's presence on the system and loading alternative 
zlib in case it is found.

For that goal I just need to be sure that vm is using zlib1.dll, 
downloaded from the internet. Dependency walker says it is, but what 
confuses me is zdll.lib. Is it just redundunt or used somewhere?

Mark Hindess wrote:
> HY_LOCAL_ZLIB is set by the ant option -Dhy.local.zlib=true.  It is
> intended for use on unix machines where libz.so is typically already
> available (and in memory).  This option is not enabled by default but
> since the zlib api is pretty stable this would seem to be a reasonable
> default for unix machines.  I do set this option when building the
> debian packages (which is why I noticed/reported that the harmony
> version was not using the most effective compiler optimisations on linux
> x86/x86_64).
>
> I'm curious to know whether you plan to make zlib optimisations that are
> harmony specific.  If not, then it would be much better to contribute
> them back to the zlib project directly and not maintain them in the
> harmony project.
>
> -Mark.
>
>
> On 5 April 2008 at 16:41, Dmitry Egorov <d.egorov@inbox.ru> wrote:
>   
>> Hello, everyone!
>> I'm now working on zlib optimization using external performance library. 
>> For now my goal is to make Harmony use my modified zlib code instead of 
>> the one downloaded from the internet.
>> So I've been struggling with build system for quite a long time. As far 
>> as I can understand now, both vm and classlib use hyzlib.dll (i'm 
>> currently working in Windows), which is made by downloading and 
>> compiling zlib's sources in classlib's buildfiles.
>>
>> But I'm not sure, because there's code in vm's build files which 
>> downloads zlib1.dll and zdll.lib. But I can't figure out whether vm is 
>> using it or not. On the other side, I found that vm has code related to
>> hyzlib.dll in working_vm\vm\vmcore\src\init\vm_properties.cpp:
>> static const char *api_dll_files[] =
>> {
>>     "harmonyvm",
>>     "hythr",
>> #if !defined(HY_NO_SIG)
>>     "hysig",
>> #endif
>>     "hyprt",
>> #if defined(HY_LOCAL_ZLIB)
>>     "z",
>> #else
>>     "hyzlib",
>> #endif
>>     "hynio",
>>     "vmi",
>>     "hyluni",
>>     "hyarchive"
>> }; ...
>>
>> My primary goal is to optimize vm's zlib performance to boost start up 
>> time. So my question is whether vm is using hyzlib.dll or not?
>>
>> Tim Ellison wrote:
>>     
>>> Dmitry Egorov wrote:
>>>       
>>>> Hello Mark, Tim,
>>>> Thank you for your idea!  We have discussed possible native
>>>> optimizations of jar and zip code with Alexei Fedotov and I'm
>>>> currently looking into this.
>>>>         
>>> Great.  Looking through the JIRAs I see Alexei raised a 'double read' 
>>> issue.  You still have outstanding questions about this Alexei?
>>>
>>> [1] http://issues.apache.org/jira/browse/HARMONY-5526
>>>
>>> Regards,
>>> Tim
>>>
>>>
>>>       
>
>
>
>   


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