This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | Significant startup regression caused by org.netbeans.modules.vcscore.javacorebridge | ||
---|---|---|---|
Product: | obsolete | Reporter: | Marian Mirilovic <mmirilovic> |
Component: | vcsgeneric | Assignee: | Martin Entlicher <mentlicher> |
Status: | CLOSED FIXED | ||
Severity: | blocker | CC: | blaha, issues, rkubacki |
Priority: | P1 | Keywords: | PERFORMANCE, REGRESSION |
Version: | 4.x | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | DEFECT | Exception Reporter: | |
Attachments: |
Log file generated on build 200503301800
Log file generated on build 200504010747 The textual diff of the fix. |
Description
Marian Mirilovic
2005-04-05 22:17:10 UTC
So I've found it : I'll attach output from startup perf logs and you can see that the build 200504010747 contains : ModuleInstall for org.netbeans.modules.vcscore.javacorebridge/1 called dT=2499 but this line isn't present in log from build 200503301800 ! Created attachment 21399 [details]
Log file generated on build 200503301800
Created attachment 21400 [details]
Log file generated on build 200504010747
The module install spents most 100% of its time in java.util.Locale.getAvailableLocales() called from VariableIO.getLocalizedConfigurations(). Note that we no longer have the regresion in VCS versioning submenu as we moved it to startup. Apparently the configurations are more expensive in 4.1 after Martin's fix of issue #52227. Regarding startup - why do we initialize profiles info now ?! This is a problem in initialization of the global VCS providers. We need to attach a listener to them from javacorebridge, which cause their initialization. The initialization needs to be made as lightweight as possible. It takes 852ms for me on Pentium M 1.7GHz. After the lazy initialization, the time fell down to 10ms: /cvs/vcsgeneric/src/org/netbeans/modules/vcs/advanced/globalcommands/GlobalCommandsProvider.java,v <-- GlobalCommandsProvider.java new revision: 1.10; previous revision: 1.9 Created attachment 21418 [details]
The textual diff of the fix.
Can someone from perf. team please verify this in trunk? Thanks. Looks good at least for vanilla start. I will wait for Marian results. Probably only users using VCS support will suffer from this regression. Anyway this can be tracked in issue #56980 (slow versioning submenu). Code deferral from contructor to initialize seems OK. REVIEWED I am waiting for the first continual build with this fix and I'll run startup perf tests on it . It seems like it's fixed in continual build - verified. mentlicher, can you commit the fix to q-build branch (release41-QBE200504051930)? Which branch is the correct one? There are two: release41-QBE200504060831 release41-QBE200504051930 In the q-build report there is number 200504060831. Sorry, this one is correct release41-QBE200504060831. Thanks O.K. Thanks, it's there: /cvs/vcsgeneric/src/org/netbeans/modules/vcs/advanced/globalcommands/GlobalCommandsProvider.java,v <-- GlobalCommandsProvider.java new revision: 1.9.6.1; previous revision: 1.9 The fix is merged into release41 branch: /cvs/vcsgeneric/src/org/netbeans/modules/vcs/advanced/globalcommands/GlobalCommandsProvider.java,v <-- GlobalCommandsProvider.java new revision: 1.9.2.1; previous revision: 1.9 verified in NB4.1 (200504111930) thanks to everybody |