Performance regression in java.util.zip.Deflater

Dave Bristor David.Bristor at Sun.COM
Fri Dec 21 01:38:30 UTC 2007


Clemens Eisserer wrote:
> Hello again,
> 
>> jdk/test/java/util/zip/FlaterTest.java can be used to compare different JVMs;
>> I'm sorry but I don't think we have a better test.  See also the code in
>> 6364346 and/or 6507183.
> Sorry if that sounds a bit dumb, how can I access
> jdk/test/java/util/zip/FlaterTest.java?
> I rewrote the native method a bit (because I thought it was messy), so
> I am afraid I destoyed some cases - are there also correctness
> testcases?

Sorry: presuming you got the code via hg.openjdk.java.net, from e.g. 
jdk/tl/jdk, the test (and other zip tests) are in
     test/java/util/zip

They're jtreg tests; you can run them using jtreg by hand, or by using the 
"jarzip" NetBeans project:

openjdk.java.net/jtreg
openjdk.java.net/groups/nb-projects

>> I don't see a block in the ArrayRegion functions (a little surprisingly):
>>      hotspot/src/share/vm/prims/jni.cpp
>> (Search for just "arrayregion").  Compare the array region function body with
>> the primitivearraycritical function body; the latter obviously interacts with GC.
> I am no expert, but doesn't each jni-function block the jvm, like a
> synchronized modifier in java? I thought for this are
> JNI_ENTRY/JNI_END macros?
> I can be wrong of course, its just a guess.

I suppose, but didn't find the definitions of those (yet).

	Dave

>> I'm no expert here!  See 6186200's discussion of GC & critical sections.
> Thanks a lot, very interesting :)
> 
> lg Clemens
> 
> Btw. No need to stress or hurry, its just a "holiday-fun-bugfix"



More information about the core-libs-dev mailing list