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: | Speed up explorer folder expansion | ||
---|---|---|---|
Product: | platform | Reporter: | Petr Nejedly <pnejedly> |
Component: | Explorer | Assignee: | Petr Nejedly <pnejedly> |
Status: | RESOLVED FIXED | ||
Severity: | blocker | Keywords: | PERFORMANCE |
Priority: | P2 | ||
Version: | 3.x | ||
Hardware: | Sun | ||
OS: | Solaris | ||
Issue Type: | TASK | Exception Reporter: |
Description
Petr Nejedly
2002-03-14 16:50:42 UTC
Typical use case is that user traverses his filesystem through some big package to some subpackage and while the big package is being parsed/updated, it is impossible to continue traversing to already visible subpackage. I've started by improving RequestProcessor, so I can migrate some tasks out of the common processing queue, where it clashes with UI update posts. I've sped up mime recognition (it could improve DO recognition by >30%). I still have other things to do in DS layer, like partially implementing issue 20193. Partially fixed issue 20193, no more tons of FileChangeListeners, it speds up the file recognition especially for large folders, as attaching a lot of listeners to a folder is expensive (see issue 20715) There is a problem with incremental updating of the FolderChildren, example: There are N=200 files in a folder forming M=70 MultiDOs. Whenever the newly added DataNodes are to displayed, their MultiDO's checkFiles (in sum 70x, once for each MDO) gets executed and it evaluates all the files in the folder for each MultiDO, which means MxN evaluatinos of some FO. There is a performance fix in place that skips checkFiles whenever the DO was recognized by FolderList (a flag), but the flag is set only when the folder is fully recognized. It means that if we wait for the full result instead of the incremental parsing, we can slash the folder parsing time to the similar time it took to display the first partial result. There is other possibility and that is to wait till some minimal amount of files is available. Implemented synchronous folder parsing. This brings about the shortest time we can achieve with current architecture. |