Plan for NB 6.7 Performance improvements
This is an implementation plan for performance improvements targeted for NetBeans 6.7 release. It covers work done by the performance team and also many important issues solved by other teams. Still, this is not all performance work being done for 6.7 (e.g. fixing reported performance bugs is not included).
For an overview of what has been considered see the list of performance topics.
Important NB 6.7 Dates
- Milestone 1
- Milestone 2
- Feature freeze
- Code freeze
- Final release
This plan is divided into milestones by two weeks. The paragraph under each milestone describes what should be done (finished) by the date of the milestone. The plan is checked and updated weekly (on Monday).
- P3: Jarda: Farther improve the cold startup time. It is still much longer than warm startup, and perceived as a problem.
- [[File:]] to nb-tech team, make them accept or refuse the proposal
- P2: [[File:]]
- P2: Alexander: Automatic detection of regressions DashboardNotifications
- P2: [[File:]] preliminary testing finished, ready for QE
- P2: Oleg: Tests for developers, downloading binaries, ...
- P2: Oleg: Integrate 'Refactoring tests from Pavel' to regular test execution
- P2: Tomáš M. VisualWeb FoD (+struts)
- P3: Tomáš M.: move error labels up for VisualWeb FoD
- P2: Jarda: OutOfMemory to with dump memory log IZ 153220
- P2: Alexander: White list for read files IZ 153155
- P2: Alexander: Control Started Threads test IZ 153156
- P2: Alexander: LimeWire project automatic download
- P2: Alexander: DashboardNotifications - RSS feed
- Pavel & Jarda: Make sure ergonimics are in integratable state
- P2: Jarda: White list for read files IZ 153155 - *done*, resulted in IZ 156330, cache is insufficient
- Pavel: Parsing API -- memory leak and regression tests, measurements.
- [[File:]] merge to trunk by Christmas
- [[File:]] (done but needs to be reviewed before integration)
- P2: Alexander: DashboardNotifications - optimize speed (may require move to new server)
- P2: Jarda to convince Tonda: Scalable project lookup registrations - Why is startup with one project slower than the one without any project? IZ 150194
- (todo add test)Jarda: P2: Get rid of deprecated APIs - lower the number of loaded classes/modules IZ 77030 - SystemOption
- P2: Search in files is slow, much slower than from cmd line, hardly usable in large projects. See also IZ 134558.
- Jarda: P2: Improve startup module cache IZ 156330
- "Pavel": Speedup project open and scan - optimize test dependencies computation IZ 158881
- P2: Pavel: Refactoring - subclasses, overriden methods improvements (with Honza Pokorsky and QE) IZ 120145
- P2 Jarda: IDE more usable after startup, IZ 144426, IZ 150875.
- Oleg: Pre-integration sanity testing of indexing API
- [[File:]]. Also know as P2: Navigation (Go to Type, Go to Source) should always be fast, regardless if java infrastructure needs to perform some heavy scanning at the same time.
- P2: Pavel: Identifier index in refactoring - prototype, automated tests for result checking (with Honza Pokorsky and QE) Refactoring Measurements
- Oleg: Public wiki page with comparative measurements
- P2: Jarda: Make ergo build start as fast as basic IDE, reported as IZ 160390
- [[File:]], IZ 158203 and IZ 158206
- Pavel: Index shall provide data after startup not be empty
- P2: Services/Servers node needs to be present. IZ 158765.
- P2: Perf 4 - Go to File should be much faster. People expect it to be the same as Go to Type feature. Building a file index is likely needed. See also IZ 122639 and IZ 147620.
- P2 Jarda: IDE more usable after startup, don't load all editor actions IZ 150875.
- P2: More on Services/Servers node. IZ 161664.
- Pavel: Create a module for AU which would disable auto-refresh (and up-to-date check after startup), with explicit refresh action let people play with it. Owner: Java team to provide basic patch, Jarda to create the module [IZ 158177|
- Jarda (P3): List of Update Centers contain "Feature On Demand" IZ 162814
- "Pavel": Resolve scanning issues with Vita
- Jarda: Two different Plugin Managers IZ 162819
- Jarda: Plugin Manager Activate/Deactivate button IZ 163411
Tasks not yet included in the plan
- Usages are much slower in current builds than used to be in 6.5 IZ 161073
- Too many calls to getAttribute during start IZ 158334