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).

November 17

  • Image:yes_NB67PerfPlan.png 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

December 1

  • P2: [[File:]]
  • P2: Image:yes_NB67PerfPlan.png Alexander: Automatic detection of regressions DashboardNotifications
  • P2: [[File:]] preliminary testing finished, ready for QE
  • P2: Image:yes_NB67PerfPlan.png Oleg: Tests for developers, downloading binaries, ...
  • P2: Image:yes_NB67PerfPlan.png Oleg: Integrate 'Refactoring tests from Pavel' to regular test execution
  • P2: Image:yes_NB67PerfPlan.png Tomáš M. VisualWeb FoD (+struts)
  • P3: Image:yes_NB67PerfPlan.png Tomáš M.: move error labels up for VisualWeb FoD
  • P2: Image:yes_NB67PerfPlan.png Jarda: OutOfMemory to with dump memory log IZ 153220

December 15

  • P2: Image:yes_NB67PerfPlan.png Alexander: White list for read files IZ 153155
  • P2: Image:yes_NB67PerfPlan.png Alexander: Control Started Threads test IZ 153156
  • P2: Image:yes_NB67PerfPlan.png Alexander: LimeWire project automatic download
  • P2: Image:yes_NB67PerfPlan.png Alexander: DashboardNotifications - RSS feed
  • Image:yes_NB67PerfPlan.png Pavel & Jarda: Make sure ergonimics are in integratable state

January 12

  • Image:yes_NB67PerfPlan.png P2: Jarda: White list for read files IZ 153155 - *done*, resulted in IZ 156330, cache is insufficient
  • Image:yes_NB67PerfPlan.png Pavel: Parsing API -- memory leak and regression tests, measurements.
  • [[File:]] merge to trunk by Christmas
  • [[File:]] (done but needs to be reviewed before integration)
  • Image:yes_NB67PerfPlan.png P2: Alexander: DashboardNotifications - optimize speed (may require move to new server)

January 26

  • Image:yes_NB67PerfPlan.png P2: Jarda to convince Tonda: Scalable project lookup registrations - Why is startup with one project slower than the one without any project? IZ 150194
  • [[File:]]

February 9

  • [[File:]]

  • Image:yes_NB67PerfPlan.png (todo add test)Jarda: P2: Get rid of deprecated APIs - lower the number of loaded classes/modules IZ 77030 - SystemOption

  • Image:yes_NB67PerfPlan.png P2: Search in files is slow, much slower than from cmd line, hardly usable in large projects. See also IZ 134558.

February 23

  • Image:yes_NB67PerfPlan.png Jarda: P2: Improve startup module cache IZ 156330

March 9

  • Image:yes_NB67PerfPlan.png "Pavel": Speedup project open and scan - optimize test dependencies computation IZ 158881
  • Image:yes_NB67PerfPlan.png P2: Pavel: Refactoring - subclasses, overriden methods improvements (with Honza Pokorsky and QE) IZ 120145
  • Image:yes_NB67PerfPlan.png P2 Jarda: IDE more usable after startup, IZ 144426, IZ 150875.
  • Image:yes_NB67PerfPlan.png Oleg: Pre-integration sanity testing of indexing API

March 23

  • [[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.
  • Image:yes_NB67PerfPlan.png P2: Pavel: Identifier index in refactoring - prototype, automated tests for result checking (with Honza Pokorsky and QE) Refactoring Measurements

April 6

  • Image:yes_NB67PerfPlan.png Oleg: Public wiki page with comparative measurements
  • Image:yes_NB67PerfPlan.png P2: Jarda: Make ergo build start as fast as basic IDE, reported as IZ 160390
  • [[File:]], IZ 158203 and IZ 158206
  • Image:yes_NB67PerfPlan.png Pavel: Index shall provide data after startup not be empty
  • Image:yes_NB67PerfPlan.png P2: Services/Servers node needs to be present. IZ 158765.
  • Image:yes_NB67PerfPlan.png 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.

April 20

  • Image:yes_NB67PerfPlan.png P2 Jarda: IDE more usable after startup, don't load all editor actions IZ 150875.
  • Image:yes_NB67PerfPlan.png P2: More on Services/Servers node. IZ 161664.

May 4

  • Image:yes_NB67PerfPlan.png 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|


  • Image:yes_NB67PerfPlan.png Jarda (P3): List of Update Centers contain "Feature On Demand" IZ 162814

May 18

  • "Pavel": Resolve scanning issues with Vita
    1. Image:yes_NB67PerfPlan.png Speedup project open and scan by improving SourceForBQ IZ 158194 and IZ 162706
    2. Image:yes_NB67PerfPlan.png Up-to-date check too slow in 6.7 IZ 164009 - new measurement 090515
    3. todo: Are the fileobjects also problem?
    4. Image:yes_NB67PerfPlan.png ClassMainUpdater problem runWhenScanFinished() does not work 165254
  • Image:yes_NB67PerfPlan.png Jarda: Two different Plugin Managers IZ 162819
  • Image:yes_NB67PerfPlan.png 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


Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo