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 236630 - org.openide.explorer.view.VisualizerNode$QP.processQueue: LowPerformance took 22181 ms.
Summary: org.openide.explorer.view.VisualizerNode$QP.processQueue: LowPerformance took...
Status: RESOLVED FIXED
Alias: None
Product: projects
Classification: Unclassified
Component: Maven (show other bugs)
Version: 7.3
Hardware: All All
: P3 normal (vote)
Assignee: Milos Kleint
URL:
Keywords: PERFORMANCE
Depends on:
Blocks:
 
Reported: 2013-10-02 07:13 UTC by Exceptions Reporter
Modified: 2013-12-12 02:58 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter: 199660


Attachments
nps snapshot (171.22 KB, application/nps)
2013-10-02 07:13 UTC, Exceptions Reporter
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Exceptions Reporter 2013-10-02 07:13:03 UTC
Build: NetBeans IDE 7.3.1 (Build 201306052037)
VM: Java HotSpot(TM) 64-Bit Server VM, 24.0-b56, Java(TM) SE Runtime Environment, 1.7.0_40-b43
OS: Windows 7

User Comments:
GUEST: running tests with jbos as7

yoosiba: Clean&Build on maven based RCP app, simple app with content only from netbeans pltform trial: NetBeans Platform Quick Start Using Maven, Project Type Module Tutorial, Project Sample Module Tutorial, File Type Integration Tutorial



Maximum slowness yet reported was 47588 ms, average is 24606
Comment 1 Exceptions Reporter 2013-10-02 07:13:06 UTC
Created attachment 140713 [details]
nps snapshot
Comment 2 Ondrej Vrabec 2013-12-11 10:10:45 UTC
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().
Comment 3 Milos Kleint 2013-12-11 15:27:06 UTC
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.
Comment 4 Quality Engineering 2013-12-12 02:58:31 UTC
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