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.
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.
incomplete till reason of this regression is known to be caused by profiler.
Mariane, can you please attach the startup log?
Created attachment 39034 [details] Startup log file 200702281900 - with profiler
Created attachment 39035 [details] Startup log file 200702271900 - without profiler
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?)
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.
Re actions: Swing actions should be a bit cheaper that subclasses of SharedClassObject
Loading of XML files moved out of Module.restore(). Please measure it again.
Fixed for M8.
verified in NB Dev (200703271800)