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: | Optimize Utilities.partialSort | ||
---|---|---|---|
Product: | platform | Reporter: | Jesse Glick <jglick> |
Component: | -- Other -- | Assignee: | Jaroslav Tulach <jtulach> |
Status: | RESOLVED FIXED | ||
Severity: | blocker | Keywords: | PERFORMANCE |
Priority: | P3 | ||
Version: | 3.x | ||
Hardware: | PC | ||
OS: | Linux | ||
Issue Type: | TASK | Exception Reporter: | |
Attachments: | Description of the algorithm to detect "strongly connected components" in the graph (czech) |
Description
Jesse Glick
2002-09-12 23:06:29 UTC
Also take a look at times for org.netbeans.core.modules.Util.DependencyComparator.compare. May be more than I thought before; OptIt says that this line Object elt2 = it2.next (); is a hot spot. committed * Up-To-Date 1.11 core/manifest.mf committed * Up-To-Date 1.11 core/src/org/netbeans/beaninfo/DataLoaderBeanInfo.java committed * Up-To-Date 1.64 core/src/org/netbeans/core/LoaderPoolNode.java committed * Up-To-Date 1.49 core/src/org/netbeans/core/modules/ModuleManager.java committed * Up-To-Date 1.17 core/src/org/netbeans/core/modules/Util.java committed * Up-To-Date 1.25 core/test/unit/src/org/netbeans/core/modules/ModuleManagerTest.java committed * Up-To-Date 1.90 openide/openide-spec-vers.properties committed * Up-To-Date 1.121 openide/api/doc/changes/apichanges.xml committed * Up-To-Date 1.42 openide/src/org/openide/loaders/DataLoader.java committed * Up-To-Date 1.60 openide/src/org/openide/loaders/FolderList.java committed * Up-To-Date 1.9 openide/src/org/openide/loaders/FolderOrder.java committed * Up-To-Date 1.112 openide/src/org/openide/util/Utilities.java added * Up-To-Date 1.1 openide/test/unit/src/org/openide/util/UtilitiesTopologicalSortTest.java In topological_sort_27286 branch (branch point is BLD200301070100) there is a bit improved version of Utilities.topologicalSort that does cycle detection and removes the necessity for topologicalSortError method. On the other hand it introduces new exception that is thrown in case a cycle is detected. Reopened to let Jesse evaluate the new version and decide whether it is better than the original. Does the silence means that the branch should be integrated? Ok, I'll do that tomorrow. Created attachment 8487 [details]
Description of the algorithm to detect "strongly connected components" in the graph (czech)
Sorry, I saw your work but did not get a chance to pay more attention. I guess it is good - briefly looked at the branch. Did not try to understand all of TopologicalSortException in detail, but will assume it is right - tests look good. Missing @since on TSE. Also need to update all core + openide clients (incl. FolderList.main which still uses old partialSort due to richer error reporting - can now be replaced). Thanks for comments, I'll integrate it. /cvs/openide/openide-spec-vers.properties,v new revision: 1.95 /cvs/openide/api/doc/changes/apichanges.xml,v new revision: 1.127; /cvs/openide/src/org/openide/loaders/FolderList.java,v new revision: 1.63 /cvs/openide/src/org/openide/util/TopologicalSortException.java new revision: 1.2 /cvs/openide/src/org/openide/util/Utilities.java,v new revision: 1.119; cvs diff: TopologicalSortException.java is a new entry, no /cvs/openide/test/unit/src/org/openide/util/UtilitiesTopologicalSortTest.java new revision: 1.5 /cvs/core/src/org/netbeans/core/LoaderPoolNode.java new revision: 1.68 /cvs/core/src/org/netbeans/core/modules/ModuleManager.java new revision: 1.53 |