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: | org.openide.explorer.view.VisualizerNode$QP.processQueue: LowPerformance took 22181 ms. | ||
---|---|---|---|
Product: | projects | Reporter: | Exceptions Reporter <exceptions_reporter> |
Component: | Maven | Assignee: | Milos Kleint <mkleint> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | yoosiba |
Priority: | P3 | Keywords: | PERFORMANCE |
Version: | 7.3 | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | DEFECT | Exception Reporter: | 199660 |
Attachments: | nps snapshot |
Description
Exceptions Reporter
2013-10-02 07:13:03 UTC
Created attachment 140713 [details]
nps snapshot
Still the same. Explorer wants to run something with Children.MUTEX.readAccess while someone's holding the write lock for a long time. This time it's maven calling I/O in org.netbeans.modules.maven.nodes.DependencyNode.createNodeDelegate() . Milosi, can you precompute everything time-expensive before you set keys to the parent node? Creating a node from a key should be fast. In the snapshot you're calling org.openide.filesystems.FileUtil.isArchiveFile(). http://hg.netbeans.org/core-main/rev/630eff6a91ec Nowadays a single call to File.exist() or File.lastModified() and similar are considered "time-consuming". Even FileUtil.addFileChangeListener() is apparently "time-consuming". I've done something, but it's unclear if it eventually fixes anything given the layers of indirection and locking we have. Integrated into 'main-silver', will be available in build *201312120002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-silver/rev/630eff6a91ec User: Milos Kleint <mkleint@netbeans.org> Log: #236630 our idea of time consuming is getting wider and wider |