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 98499 - Low performance for 'open project' operation
Summary: Low performance for 'open project' operation
Status: CLOSED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: Project (show other bugs)
Version: 5.x
Hardware: All All
: P1 blocker (vote)
Assignee: Alexander Simon
URL:
Keywords: PERFORMANCE
Depends on: 100766
Blocks:
  Show dependency tree
 
Reported: 2007-03-21 16:30 UTC by soldatov
Modified: 2007-08-06 18:24 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 soldatov 2007-03-21 16:30:36 UTC
When I am opening Boost project on my machine, then "Opening Project: boost"
modal window appears on ~20 seconds and I cannot make any changes in IDE in this
time. I think modal window should not be visible so long, because all operations
should be done in a background, when it is possible.
Comment 1 Vladimir Voskresensky 2007-03-21 17:25:14 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
Comment 2 Alexander Simon 2007-04-11 17:35:32 UTC
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

Comment 3 Vladimir Kvashin 2007-04-11 19:04:54 UTC
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)
Comment 4 Alexander Simon 2007-04-12 16:39:13 UTC
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
Comment 5 Alexander Simon 2007-04-12 18:16:59 UTC
-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
Comment 6 Alexander Simon 2007-04-13 17:42:14 UTC
fixed
Comment 7 Maria Tishkova 2007-08-06 18:15:48 UTC
verified