JDK-6890258 : 6u18b03: 10% to 20% FX startup performance regression in javaws and plugins
  • Type: Bug
  • Component: deploy
  • Sub-Component: deployment_toolkit
  • Affected Version: 6u18
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2009-10-09
  • Updated: 2013-11-01
  • Resolved: 2009-10-21
Related Reports
Relates :  
Relates :  
Description
javaws and plugin benchmarks (from startup2 refworkload benchmark) run with fx1.3b111(promoted build b07)
and jdk6u18b03 in "warm" mode (deployed cache is kept untouched)  show from 10% to 20% regression 
comparing to previous jdk6u18b01. 

10% - 20% is about 100ms in average.

Here is the detailed comparison:

==============================================================================
6u18b01_fx1.3b07:
  Benchmark           Samples        Mean     Stdev             Geomean Weight
  app_animpath_jws         20      907.70     25.68            
  app_fx_jws               20      511.60     30.03            
  app_jmc_jws              20      724.15     10.52            
  app_mediacenter_jws      20     1754.60     35.86            
  app_swing_jws            20      547.60     14.68            
  applet_animpath_jpi      20     1087.40     15.68            
  applet_fx_jpi            20      722.00     32.91            
  applet_jmc_jpi           20     1099.10     56.67            
  applet_mediacenter_      20     1978.85     16.25            
  applet_swing_jpi         20      705.45     11.57            
==============================================================================
6u18b03_fx1.3b07
  Benchmark           Samples        Mean     Stdev   %Diff     P  Significant
  app_animpath_jws         20      915.55     38.05   -0.86 0.450            *
  app_fx_jws               20      615.55     10.64  -20.32 0.000          Yes
  app_jmc_jws              20      801.40     21.65  -10.67 0.000          Yes
  app_mediacenter_jws      20     1851.50     33.02   -5.52 0.000          Yes
  app_swing_jws            20      614.75      9.13  -12.26 0.000          Yes  
  applet_animpath_jpi      20     1147.60     47.09   -5.54 0.000          Yes  
  applet_fx_jpi            20      790.60     12.75   -9.50 0.000          Yes  
  applet_jmc_jpi           20      997.65     12.63    9.23 0.000          Yes  
  applet_mediacenter_      20     2030.55     12.86   -2.61 0.000          Yes
  applet_swing_jpi         20      794.65     12.82  -12.64 0.000          Yes
==============================================================================


The regression is observed in all benchmarks except applet_jmc_jpi and app_animpath_jws.
applet_jmc_jpi actually shows stable improvements.
app_animpath_jws looks like fluctuate too much, so hard to compare.

Please see also results here:
 http://spb-phare.russia.sun.com/compare?ids=16541,16581


I also tried to reproduce the regression using 2 simple benchmarks app_swing_jws and app_swing_jws
and the regression is easy reproduced:

==============================================================================
./6u18b01/results/:  Benchmark           Samples        Mean     Stdev             Geomean Weight
  startup2                 10      623.68     23.33            
    app_swing_jws          10      556.30     42.39             0.50      
    applet_swing_jpi       10      700.10      9.70             0.50      
==============================================================================
./6u18b03/results/:
  Benchmark           Samples        Mean     Stdev   %Diff     P  Significant
  startup2                 10      697.99     15.08  -11.92 0.000          Yes
    app_swing_jws          10      614.20      7.47  -10.41 0.002          Yes
    applet_swing_jpi       10      793.60     35.01  -13.36 0.000          Yes
==============================================================================


The similar regressions are observed in "coldapp" mode (application jars are purged from deployment cache) as well:
 http://spb-phare.russia.sun.com/compare?ids=16555,16584

Comments
EVALUATION To clarify: This bug is not duplicate of the problem described in the 6869703. However, solution for 6869703 includes restoring of performance optimizations for FX runtime that were disabled in b03 and caused regression. It is closed as duplicate because it is expected to be resolved by fix for 6869703 if FX runtime is placed in the system cache. Tests with my build on both my system and preliminary tests on one of the reference boxes support this.
21-10-2009

EVALUATION Most of the optimizations have been restored for FX runtime. For generic case situation has been improved due to fix for 6863499.
21-10-2009

EVALUATION JMC test improved in plugin mode due to fix for 6862965. Other tests do not seem to use any of native libs. Regression is likely to be caused by disabling some of effect of fixes 6791255 and 6827102 to restore code correctness. However, it is possible that too much of optimizations were disabled. Need to investigate.
09-10-2009