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 56285 - Speed up various places in filesystems to improve folder expansion at startup
Summary: Speed up various places in filesystems to improve folder expansion at startup
Status: CLOSED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Filesystems (show other bugs)
Version: 4.x
Hardware: All All
: P2 blocker (vote)
Assignee: rmatous
URL:
Keywords: PERFORMANCE
Depends on:
Blocks: 55701
  Show dependency tree
 
Reported: 2005-03-11 15:46 UTC by Antonin Nebuzelsky
Modified: 2008-12-22 17:37 UTC (History)
1 user (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 Antonin Nebuzelsky 2005-03-11 15:46:43 UTC
This issue covers various places which were identified in filesystems during
profiling of issue 55701. Radek is currently working on some rewriting which
should improve most of these hotspots. Thanks, Radek!

The places are (Radku, feel free to add more or explain):

* MasterFileObject.isValid() which does unnecessary duplicate checking of file
existence

* FileObjectFactory.findFileObjectImpl() which does not have enough information
about the file it is looking for and thus does too much work unnecessarily

* masterfs.Cache which uses synchronized map and also synchronize block in some
of its methods thus double-synchronizing unnecessarily; should be changed to
unsynchronized map and using just the synchronize blocks wherever necessary

* FileObj.lastModified which takes a lot time because it is caused for all
constructed FileObjects (in constructor) even if noone wants to listen on
changes of all of them

* FileName.getFile
Comment 1 rmatous 2005-03-15 12:12:35 UTC
/cvs/openide/masterfs/src/org/netbeans/modules/masterfs/filebasedfs/FileBasedFileSystem.java,v
 new revision: 1.3; previous revision: 1.2

/cvs/openide/masterfs/src/org/netbeans/modules/masterfs/filebasedfs/children/ChildrenSupport.java,v
 new revision: 1.6; previous revision: 1.5

/cvs/openide/masterfs/src/org/netbeans/modules/masterfs/filebasedfs/fileobjects/BaseFileObj.java,v
 new revision: 1.11; previous revision: 1.10

/cvs/openide/masterfs/src/org/netbeans/modules/masterfs/filebasedfs/fileobjects/FileObj.java,v
 new revision: 1.5; previous revision: 1.4

/cvs/openide/masterfs/src/org/netbeans/modules/masterfs/filebasedfs/fileobjects/FileObjectFactory.java,v
 new revision: 1.8; previous revision: 1.7

/cvs/openide/masterfs/src/org/netbeans/modules/masterfs/filebasedfs/fileobjects/FolderObj.java,v
 new revision: 1.4; previous revision: 1.3

/cvs/openide/masterfs/src/org/netbeans/modules/masterfs/filebasedfs/naming/FileName.java,v
 new revision: 1.5; previous revision: 1.4

/cvs/openide/masterfs/src/org/netbeans/modules/masterfs/filebasedfs/naming/FileNaming.java,v
 new revision: 1.4; previous revision: 1.3

/cvs/openide/masterfs/src/org/netbeans/modules/masterfs/filebasedfs/naming/FolderName.java,v
 new revision: 1.3; previous revision: 1.2

/cvs/openide/masterfs/src/org/netbeans/modules/masterfs/filebasedfs/utils/FileInfo.java,v
 new revision: 1.4; previous revision: 1.3
Comment 2 rmatous 2005-03-15 15:56:04 UTC
Some improvement to speed up folder expansion at startup commited into trunk.

Please verify. 
Comment 3 Antonin Nebuzelsky 2005-03-23 14:40:07 UTC
Helped significantly. See my comment at issue 55701.