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.
When you start profiling of a project (e.g. Profile Main Project -> Analyze Performance -> Application Startup -> Run) the execution of project in profiler is performed in AWT thread. AWT thread is blocked for many seconds effectively freezing UI of the whole IDE. This must be changed to run in a worker thread, using AWT thread only to update UI when appropriate...
Created attachment 20184 [details] Event Queue stack trace
Agreed, this is the most important performance issue we are aware of. There needs to be work done to clarify what is the exact sequence of actions performed during the app startup, and solve it both via warmup and offload to RequestProcessor thread. Also note that the problem seems to be much smaller on subsequent profiling runs.
What kind of warmup do you mean?
The first time the profiling is invoked, a lot of UI needs to be created (profiler control panel, results window, big graphs window). This can be done earlier, e.g. when the Select Task panel is disaplayed. I am not talking about IDE startup. Sounds reasonable?
Surely.
I am willing to investigate this problem once I fix issue 54645. I agree with Ian that it's likely a problem due to UI elements creation and/or massive class load (for instance, I've just discovered that jfreechart JAR is nearly 1MB - that's a lot and may explain some problems).
Misha, no need to wait with profiling the profiler. I can point you to a site-wide licence of a profiler you can use to profile your profiler. ;o)
Reassigning to myself for M6
Status update: The start of profiling is no longer performed in AWT thread, but it still takes too long, and there are now issues with thread synchronization, actions enabling/disabling.
The profiler startup no longer blocks AWT, but it still is probably slower than necessary and should be looked at. Will file a separate issue for this.
Verification of old issues.
Closing old issues.