JDK-4172030 : Significant performance degradation for keytool and jarsigner on win32
  • Type: Bug
  • Component: security-libs
  • Sub-Component: java.security
  • Affected Version: 1.1.1,1.1.7,1.2.0
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_2.6,solaris_7,windows_95
  • CPU: generic,x86,sparc
  • Submitted: 1998-09-08
  • Updated: 1999-01-19
  • Resolved: 1999-01-19
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other Other
1.1.8 1.1.8Fixed 1.2.0Fixed
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Description
We seemed to have introduced a significant performance degradation
for the keytool and jarsigner tools on the win32 platform.

To summarize:
**************
		Time to completion with JIT
		Solaris		Win32
		-------		------
keytool:	13 seconds	13 minutes (yes, thats minutes)
jarsigner:	14 seconds	> 1 hour (killed after 1 hour)

Running without the JIT does *not* make a difference.

Details:
********
Please see the attached out.solaris and out.win32 log files
for detailed time stamps.

keytool and jarsigner commands used:
(these commands are used as part of 
the javax (java extensions) test suite
Makefiles, somewhat modified to grab the
time, date stamp info):
****************************************
::::::::::::::
doit
::::::::::::::
make clean
bar
fung
goo
::::::::::::::
bar
::::::::::::::
date
echo "Using keytool..."
keytool -genkey -alias ALA -keystore ./qekeystore -keypass testing123 -dname "cn=QEtest" -storepa
ss testing123  
date
::::::::::::::
fung
::::::::::::::
date
echo "Creating the jar..."
jar cvf e8.jar ../pkgs
date
::::::::::::::
goo
::::::::::::::
date
echo "Signing the jar..."
jarsigner -storepass testing123 -keystore qekeystore -keypass testing123 e8.jar ALA
date

echo "Verifying the signed jar..."
jarsigner -verify -verbose -keystore qekeystore e8.jar
date

The hardware:
*************
Solaris:
              MODEL: SUNW,Ultra-1
                CPU: SUNW,UltraSPARC
    FRAME BUFFER(S): cgsix
      SunOS RELEASE: 5.6
             MEMORY: 128MB
               SWAP: 288.8MB total, 113.8MB used, 175.0MB available
       LOAD AVERAGE: 0.03, 0.03, 0.08
 
Win32:
	Toshiba Pentium 233
	48 MB ram
	MS-Win95


Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: 1.1.8 generic FIXED IN: 1.1.8 1.2fcs INTEGRATED IN: 1.1.8 1.2fcs VERIFIED IN: 1.2fcs
14-06-2004

PUBLIC COMMENTS Significant peformance degradation for keytool and jarsigner on win32.
10-06-2004

EVALUATION cannot verify the bug, no regression test provided. tao.zhang@eng 1999-03-01 charlie.lai@Eng 1998-09-24 apparently threading/time slicing on Win95 is very unpredictable. to overcome this, we made a modification to cut short the spinning that takes place in SeedGenerator. basically the loop which calculates the random byte is only allowed to go around 6 times. this slightly compromises the quality of the random byte, but tests for randomness (the FIPS test for example) still pass. the other change we made was for bogus threads in the background to loop 5 times (instead of 100) and sleep for 50 ms (instead of 10). this was a little tweak that seemed to help prevent the SeedGenerator from hanging on Win95. performance on Win95 is still about twice as slow as it is on NT. i noticed that key generation on NT takes about 10-20 seconds. on Win95 (same physical machine), it takes about 30-40 seconds. gadi noted that on NT it takes about .2 seconds to generator a random byte. on Win95, it varies between .5 and 1.7 seconds per byte. so our calculations are roughly similar. nevertheless, this is a nice improvement. key generation was taking about 3 minutes on Win95 before this change, and would periodically hang as well. Verified fix in the JDK1.2-L build. Quite a significant improvement! Both the keytool and jarsigner tools took less than 1 minute to complete on the Win95 platform! Nice! liz.blair@East 1998-10-05
05-10-1998