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.
Summary: | Low performance for 'open project' operation | ||
---|---|---|---|
Product: | cnd | Reporter: | soldatov <soldatov> |
Component: | Project | Assignee: | Alexander Simon <alexvsimon> |
Status: | CLOSED FIXED | ||
Severity: | blocker | Keywords: | PERFORMANCE |
Priority: | P1 | ||
Version: | 5.x | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | DEFECT | Exception Reporter: | |
Bug Depends on: | 100766 | ||
Bug Blocks: |
Description
soldatov
2007-03-21 16:30:36 UTC
- I turned OFF Code Model API (and all related modules) - to make sure everything was cleaned up - restarted IDE - then tried to open MySQL on my machine => model dialog is shown for 65 sec The screenshot of profiling results of time destribution by methds could be seen at file:////net/endif.russia.sun.com/export/home1/deimos/dev/spb/vv159170/Profiling/mysql-open-project-noCodeModel-2007-03-20.html improve performance: - change container in Configuration (Vector->HashMap) - remove double registration in MakeSource - remove double counting data object in Folder CVS log: Checking in api/configurations/Configuration.java; /shared/data/ccvs/repository/cnd/makeproject/src/org/netbeans/modules/cnd/makeproject/api/configurations/Configuration.java,v <-- Configuration.java new revision: 1.2.2.1.10.6; previous revision: 1.2.2.1.10.5 done Checking in api/configurations/MakeConfiguration.java; /shared/data/ccvs/repository/cnd/makeproject/src/org/netbeans/modules/cnd/makeproject/api/configurations/MakeConfiguration.java,v <-- MakeConfiguration.java new revision: 1.2.2.2.8.8; previous revision: 1.2.2.2.8.7 done Checking in api/configurations/Folder.java; /shared/data/ccvs/repository/cnd/makeproject/src/org/netbeans/modules/cnd/makeproject/api/configurations/Folder.java,v <-- Folder.java new revision: 1.2.2.5.8.20; previous revision: 1.2.2.5.8.19 done Checking in api/configurations/Item.java; /shared/data/ccvs/repository/cnd/makeproject/src/org/netbeans/modules/cnd/makeproject/api/configurations/Item.java,v <-- Item.java new revision: 1.2.2.4.8.19; previous revision: 1.2.2.4.8.18 done Checking in MakeSources.java; /shared/data/ccvs/repository/cnd/makeproject/src/org/netbeans/modules/cnd/makeproject/MakeSources.java,v <-- MakeSources.java new revision: 1.2.2.1.10.1; previous revision: 1.2.2.1 done After Alexander fixes, the project is opened 3 times faster in the case the project resides locally 2 times faster in the case the project resides on NFS Besides, context menu on large project now appears several times faster (previously there were more than 5 seconds delay) restore rolled back changes: CVS log: Checking in ConfigurationAuxObject.java; /shared/data/ccvs/repository/cnd/makeproject/src/org/netbeans/modules/cnd/makeproject/api/configurations/ConfigurationAuxObject.java,v <-- ConfigurationAuxObject.java new revision: 1.2.2.1.10.1; previous revision: 1.2.2.1 done Checking in FolderConfiguration.java; /shared/data/ccvs/repository/cnd/makeproject/src/org/netbeans/modules/cnd/makeproject/api/configurations/FolderConfiguration.java,v <-- FolderConfiguration.java new revision: 1.1.2.3; previous revision: 1.1.2.2 done Checking in Configuration.java; /shared/data/ccvs/repository/cnd/makeproject/src/org/netbeans/modules/cnd/makeproject/api/configurations/Configuration.java,v <-- Configuration.java new revision: 1.2.2.1.10.8; previous revision: 1.2.2.1.10.7 done Checking in MakeConfiguration.java; /shared/data/ccvs/repository/cnd/makeproject/src/org/netbeans/modules/cnd/makeproject/api/configurations/MakeConfiguration.java,v <-- MakeConfiguration.java new revision: 1.2.2.2.8.10; previous revision: 1.2.2.2.8.9 done Checking in ItemConfiguration.java; /shared/data/ccvs/repository/cnd/makeproject/src/org/netbeans/modules/cnd/makeproject/api/configurations/ItemConfiguration.java,v <-- ItemConfiguration.java new revision: 1.2.2.1.10.6; previous revision: 1.2.2.1.10.5 done -make private set object methods in object configurations -avoid double tool initialization in ItemConfiguration. First initialization requires file object. Next initialization reads project xml value. Using lazy tool initialization allow removing first expensive initialization. CVS log: Checking in FolderConfiguration.java; /shared/data/ccvs/repository/cnd/makeproject/src/org/netbeans/modules/cnd/makeproject/api/configurations/FolderConfiguration.java,v <-- FolderConfiguration.java new revision: 1.1.2.4; previous revision: 1.1.2.3 done Checking in ItemConfiguration.java; /shared/data/ccvs/repository/cnd/makeproject/src/org/netbeans/modules/cnd/makeproject/api/configurations/ItemConfiguration.java,v <-- ItemConfiguration.java new revision: 1.2.2.1.10.7; previous revision: 1.2.2.1.10.6 done fixed verified |