While refactoring of code model and project system was introduced a performance regression in find item method.
Finding uses linear search of project item by method:
Should be replaced on direct search by map:
It seem it was typo (selecting wrong method in code completion list).
Impact on IDE:
- time of configuring by code model is increased in x10 (x100) times. Time depends on project size. So project with 10K files cannot be configured in reasonable time.
- time of matching item->CsmFile on file event handlers is increased especially in case group changing.
fixed, change set:
QA, please evaluate the bug for 70_HR_FIX_CANDIDATE
Integrated into 'main-golden', will be available in build *201103120400* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
User: Alexander Simon <firstname.lastname@example.org>
Log: fixed Bug #196587 performance regression in NativeProject.findFileItem().
fix is safe and correct.
we regressed in performance mistakenly using O(n2) algorithm instead of O(n)
verified in dev build
integrated in release70, change set:
verified in RC1 build 20110317