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.
Profiling of startup with a big amount of projects open (all of nbbuild/misc) and CVS filesystem mounted revealed that up to 20% of the time is spent reading CVS/Entries when constructing children of various packages. See the attached screenshot of OptimizeIt window showing the call path VcsFileSystem.children() -> VcsFileSystem.childrenWithTurbo() -> ... -> CvsFileAttributeProvider.folderListing() -> BufferedReader.readLine() Printing out the paths for the read files and counting them has shown that the effectiveness of the Turbo chache was around 91%. Only 9% of files were read more than once. Which is good. Also the used construct BufferedReader -> FileReader seems to be the most effective way of reading Entries files. Do You have any idea how we could eliminate these extra 20% of startup?
Created attachment 21130 [details] OptimizeIt screenshot
It's too late to do anything about it. This is just how the file status infrastructure works. This might be changed in the future, if we get rid of virtual files. Then we'll not read CVS/Entries in VcsFileSystem.children() at all and the performance of children should be identical to LocalFileSystem.
WONTFIX virtual files will be removed in next generation of CVS support. No future fixing of current implementtaion is planned.