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 178655 - [code model] Low performance in the creation of huge projects
Summary: [code model] Low performance in the creation of huge projects
Status: RESOLVED DUPLICATE of bug 191509
Alias: None
Product: cnd
Classification: Unclassified
Component: Code Model (show other bugs)
Version: 6.x
Hardware: PC Linux
: P3 normal (vote)
Assignee: Vladimir Voskresensky
URL:
Keywords: PERFORMANCE
Depends on:
Blocks:
 
Reported: 2009-12-15 06:04 UTC by rmartins
Modified: 2011-01-28 20:15 UTC (History)
0 users

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 rmartins 2009-12-15 06:04:03 UTC
Hi,
Despite the huge performance boost present in 6.8, it's not sufficient for huge
projects (specially on non high-end
machines).

The reference project is ACE+TAO:
(http://download.dre.vanderbilt.edu/previous_versions/ACE+TAO-5.6.8.tar.bz2).
Here are the steps that I took:
1. mkdir build (in ACE_TAO main directory)
2. cd build
3. ../configure CFLAGS="-g3 -gdwarf-2" CXXFLAGS="-g3 -gdwarf-2"
--enable-ace-reactor-notification-queue

After creating the project in Netbeans (creating using existing source files),
it still takes a very long time to
finished and  the memory consumption is too high.

Citation from Alex (6.8):
http://netbeans.org/bugzilla/show_bug.cgi?id=171937

"Improved analyzing stage, change set:
http://hg.netbeans.org/cnd-main/rev/14bfac6d7b50
- add buffering in the random access file
- release file handlers if exception in the constructor
- improve grep file
Cumulative improvements of creating project on 4-core computer:
Was: CPU time 32:57, real time 30 minutes
Now: CPU time 27:53, real time 20 minutes
So it is 33% of improvements."

Thanks,
Rolando
Comment 1 Alexander Simon 2010-03-30 08:11:21 UTC
a lot of improvements was done in issue #171937
Comment 2 Alexander Simon 2010-06-04 07:50:42 UTC
Rolando,

I would suggest to look at the problem from another side.
Main problem are a huge set of files in a project (15K files), multiply declarations/definitions with same name, a lot of dependencies between files.
What do you thing about creating project(s) that includes some subset of needed sources and headers?
Now our team thinking about "easy import" of binary file in IDE.
Main idea: drag-and-drop binary from explorer into editor area of IDE.
IDE creates model for needed binary and allows to run/debug executable.
For example:
d'n'd of ACE_wrappers/build/examples/C++NPv1/.libs/RTTPC_logging_server takes about 5 seconds for creating model (7 files).
Bigger object ACE_wrappers/build/ace/.libs/libACE-5.6.8.so will be ready for 15 seconds (1032 files).

What do you think about?
You can try working d'n'd feature in current development build.

Alexander
Comment 3 rmartins 2010-06-05 16:37:46 UTC
Hi Alexander,
the concept is really good, I never thought on those terms.
I tried with libACE.so and I was really impressed.
It's elegant and I simply like it, because it can split "compilations units" into independent projects (and could have inder-dependencies) for better speed.

Keep up the excellent work!
Rolando
Comment 4 Alexander Pepin 2010-11-02 18:13:44 UTC
please evaluate for release 7.0
Comment 5 nnnnnk 2011-01-28 20:15:06 UTC

*** This bug has been marked as a duplicate of bug 191509 ***