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.

Bug 96897 - Regression on startup time ( ModuleSystem.readList finished )
Summary: Regression on startup time ( ModuleSystem.readList finished )
Status: VERIFIED FIXED
Alias: None
Product: profiler
Classification: Unclassified
Component: Base (show other bugs)
Version: 6.x
Hardware: All All
: P2 blocker (vote)
Assignee: Tomas Hurka
URL:
Keywords: PERFORMANCE
Depends on:
Blocks:
 
Reported: 2007-03-01 07:47 UTC by Marian Mirilovic
Modified: 2007-05-15 12:29 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Startup log file 200702281900 - with profiler (196.74 KB, text/plain)
2007-03-01 10:04 UTC, Marian Mirilovic
Details
Startup log file 200702271900 - without profiler (188.10 KB, text/plain)
2007-03-01 10:04 UTC, Marian Mirilovic
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marian Mirilovic 2007-03-01 07:47:25 UTC
We measured regression on startup time between NB Dev builds :
200702271900 & 200702281900

Th regression is around 4% on first start(creating userdir) as well as the
second start(reused userdir). It's measured also for complext startup scenario,
but here it's "only" 1-2%.

The biggest part of regression comes from "ModuleSystem.readList finished" -
this regressed around 8% in comparison to previous build. The second biggest
part comes from "Preparation finished" - regressed around 5%.

I think (still not investigated) this is because profiler integration.
Comment 1 Tomas Hurka 2007-03-01 08:11:41 UTC
incomplete till reason of this regression is known to be caused by profiler.
Comment 2 Petr Nejedly 2007-03-01 09:31:36 UTC
Mariane, can you please attach the startup log?
Comment 3 Marian Mirilovic 2007-03-01 10:04:04 UTC
Created attachment 39034 [details]
Startup log file 200702281900 - with profiler
Comment 4 Marian Mirilovic 2007-03-01 10:04:30 UTC
Created attachment 39035 [details]
Startup log file 200702271900 - without profiler
Comment 5 _ rkubacki 2007-03-01 10:40:39 UTC
OK, we should find this sooner. That's my fault we did not verified this.

-J-Dorg.netbeans.log.startup=print shows noticeable delay on ModuleInstall of
org.netbeans.modules.profiler/1 (almost 2% for first start). Then there are
small additions for each module - module.xml is parsed, manifests sections are
processed, more items on layers and so on.

I am not sure how much work we really need to do in ModuleInstall. It seems that
it initializes too many classes. It seems that there is some plugability hook to
change profiler implementation, why (btw depending on sun.misc.Service because
j.u.ServiceLoader is there since 1.6)? These classes probably have some eager inits.

The biggest part of this module install is spent in Profiler.getDefault, next
significant part is loadGlobalFilters (DOM parsing?)
Comment 6 _ rkubacki 2007-03-01 12:38:17 UTC
Another slower part of startup is processing of keyboard shortcuts where we
added new profiler actions - classloading, settings names, icons. I am not sure
if we can make init of actions more lightweight.
Comment 7 _ rkubacki 2007-03-01 12:42:16 UTC
Re actions: Swing actions should be a bit cheaper that subclasses of
SharedClassObject
Comment 8 Tomas Hurka 2007-03-05 15:44:10 UTC
Loading of XML files moved out of Module.restore(). Please measure it again.
Comment 9 Tomas Hurka 2007-03-22 10:38:20 UTC
Fixed for M8.
Comment 10 Marian Mirilovic 2007-03-28 11:38:46 UTC
verified in NB Dev (200703271800)