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