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.

Bug 255362 - [newcodemodel] Low performance and big memory footprint
Summary: [newcodemodel] Low performance and big memory footprint
Status: VERIFIED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: Code Model (show other bugs)
Version: 8.1
Hardware: All All
: P1 normal (vote)
Assignee: Vladimir Voskresensky
URL:
Keywords: 81_HR_FIX, PERFORMANCE
Depends on:
Blocks:
 
Reported: 2015-09-17 12:34 UTC by Alexander Simon
Modified: 2015-12-10 18:45 UTC (History)
3 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Simon 2015-09-17 12:34:04 UTC
New code model (new preprocessor) has serious performance regression (low performance and large memory footprint).
CND team have several performance tests of different size projects:

OpenJDK - medium
Firefox - large
RDBMS - huge

Compare performance result of old code model with new code model:

Project      Threads    Memory    Performance   
OpenJDK      1          0.95      2.94 
OpenJDK      2          1.04      2.33
OpenJDK      4          1.75      2.24
Firefox      1          1.04      3.13
Firefox      2          0.99      2.82
Firefox      4          1.17      2.75
RDBMS        1          1.53      3.03

Where:
- column Threads is number of parser threads
- column Memory is a ratio of memory footprint new model / old model
- column Performance is a ratio parsing speed old model / new model

Table reflect state new code model on September 15 and old code model on September 1.

New code model was introduced to solve problems of old code model:
- low performance
- large memory footprint
- unaccuracy

According table new code model does not solve performance and memory footprint problems.
It is a show stopper of new code model.

The issue is not show stopper if:
- memory footprint regression is less then 1.20
- performance regression is less then 1.50
for all tracked projects and threads.

About unaccuracy. I do not know opened issues which are solved by new code model (new preprocessor).
And I know a lot of new issues against new code model.
Comment 1 Quality Engineering 2015-09-30 01:19:31 UTC
Integrated into 'main-silver', will be available in build *201509300002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/161c2e2dd7e3
User: Vladimir Voskresensky <vv159170@netbeans.org>
Log: fixing #255362 - [newcodemodel] Low performance and big memory footprint
- update binaries
Comment 2 DimaZh 2015-09-30 14:52:22 UTC
A show-stopper.
Comment 3 Jiri Kovalsky 2015-10-01 15:22:04 UTC
Updating TM accordingly.
Comment 4 Quality Engineering 2015-10-04 01:25:20 UTC
Integrated into 'main-silver', will be available in build *201510040002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/9ac778d12162
User: Vladimir Voskresensky <vv159170@netbeans.org>
Log: fixing #255362 - [newcodemodel] Low performance and big memory footprint (binary updates)
- use pools
Comment 5 Alexander Simon 2015-10-20 15:38:48 UTC
Update on on October, 20:

Project      Threads    Memory    Performance   
OpenJDK      1          0.96      2.79 
OpenJDK      2          1.06      2.17
OpenJDK      4          1.64      2.19
Firefox      1          1.17      2.03
Firefox      2          1.10      2.00
Firefox      4          1.18      1.98
RDBMS        1          1.98      2.52

Still show-stopper.
It is time to drop feature?
Comment 6 Quality Engineering 2015-10-22 01:27:30 UTC
Integrated into 'main-silver', will be available in build *201510220002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/e34f455a0d27
User: Vladimir Voskresensky <vv159170@netbeans.org>
Log: fixing #255362 - [newcodemodel] Low performance and big memory footprint (binary update)
Comment 7 Vladimir Voskresensky 2015-10-22 07:35:58 UTC
Thanks for the numbers. They are better now.
After http://hg.netbeans.org/main-silver/rev/e34f455a0d27
They should be even better.
So, I consider this issue as fixed in 8.1 timeframe.

Vladimir K will file another report for 8.1 patch
Comment 8 Antonin Nebuzelsky 2015-10-22 14:32:19 UTC
This needs to be backported to release81 today and marked as 81_HR_FIX.
Comment 9 ilia 2015-10-22 15:08:17 UTC
Transplanted to releases~release81:
  hg.netbeans.org/releases/rev/8caf9a2aec3d - [fixing #255362 - [newcodemodel] Low performance and big memory footprint (binary update)]
Comment 10 soldatov 2015-10-29 09:33:43 UTC
Verified in NetBeans IDE 8.1 (Build 201510222201)
We did not resolve all performance problems, but we can and must make new parser better in NetBeans Next or NetBeans 8.1 patch N.
Comment 11 Quality Engineering 2015-11-24 02:31:03 UTC
Integrated into 'main-silver', will be available in build *201511240002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/e2aebb55a53a
User: Vladimir Voskresensky <vv159170@netbeans.org>
Log: extra fix for #255362 - [newcodemodel] Low performance and big memory footprint
(transplanted from a6acfa5eb16de0e19c41e47c5eb35c4b491e5ee0)
Comment 12 ilia 2015-12-10 14:14:54 UTC
Vladimir, is this bug patch81-candidate?
Comment 13 Vladimir Voskresensky 2015-12-10 18:45:53 UTC
there was an extra fix for patch, no need to nominate this one