Skip to content

Conversation

@mbien
Copy link
Member

@mbien mbien commented Oct 25, 2025

added fast paths to hot methods and all property change listeners which are active during the "opening projects" phase

avoid calling findFileObject() or using the Lookup in event handlers if possible

speeds up post-launch "opening projects" phase by up to 30% when big project groups are loaded without making the code more complex (I tried also other tricks but they weren't worth their complexity).

loadInBackground() execution time results:

for 40 maven projects:

before: 7806
after: 6033

for 850 NetBeans ant projects:

before: 32476
after: 21462

the event handlers were called almost 1.5m times during the second project group which is why fast paths make such a difference there.

no flame graphs this time since I overwrote the baseline graph by accident

added fast paths to hot methods and all property change listeners which
are active during the "opening projects" phase

avoid calling findFileObject() or using the lookup in event handlers
if possible

speeds up post-launch "opening projects" phase by up to 30% when big
project groups are loaded
@mbien mbien added this to the NB29 milestone Oct 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant