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

Summary: org.openide.explorer.view.VisualizerNode$QP.processQueue: LowPerformance took 22181 ms.
Product: projects Reporter: Exceptions Reporter <exceptions_reporter>
Component: MavenAssignee: 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
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