[
https://issues.apache.org/jira/browse/NETBEANS-5380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17288051#comment-17288051
]
Jaroslav Tulach commented on NETBEANS-5380:
-------------------------------------------
It is always good to enable the (although improper) _"Hit Count"_ to see where
the loops occur. Checking the second sample and the RepositoryUpdater.worker
thread I see:
*
org.netbeans.modules.html.editor.lib.api.SyntaxAnalyzerResult$ElementContentFilter.getMasks()
6x
*
org.netbeans.modules.html.editor.lib.api.SyntaxAnalyzerResult$ElementContentFilter.shouldBeFiltered()
3280x
then it goes to:
*
org.netbeans.modules.parsing.spi.indexing.support.QuerySupport.reduceRootsByProjects()
3306x
* org.netbeans.modules.java.mx.project.SuiteFileOwnerQueryImpl.getOwner() 3642x
One option would be to decrease the number of calls to {{getOwner()}} when
parsing. The other is to improve {{mx}} - the problem there is that mx checks
for project two levels deep. A folder is Mx project if it contains {{mx.*}}
subfolder and that folder contains {{suite.py}} file. FileSystems API isn't
particularly fast in checking that.
I'll think about an improvement. Thanks for bug report.
> Background scanning spends significant time in
> o.n.m.j.mx.project.SuiteFileOwnerQueryImpl#getOwner
> --------------------------------------------------------------------------------------------------
>
> Key: NETBEANS-5380
> URL: https://issues.apache.org/jira/browse/NETBEANS-5380
> Project: NetBeans
> Issue Type: Bug
> Components: java - Source
> Affects Versions: Next
> Reporter: Matthias Bläsing
> Assignee: Jaroslav Tulach
> Priority: Major
> Attachments: sample1.npss, sample2.npss
>
>
> I opened an angular project into an IDE build from recent master. I observed,
> that a very (> 20 minutes) long background scanning times could be observed.
> I first used visual VM and then the netbeans internal profiler to try to
> narrow it down.
> *Profile*
> I'll attach two self profiles, both show the same picture, so I'll
> concentrate on _sample2.npss_:
> There are 9 entries in the self profile, that show CPU times > 190s. From
> these 8 are waiting in native code and thus false positives:
> - ReferenceHandler
> - FileSystemWatchService
> - process reaper (3x)
> - StreamTerm.Output (2x)
> - pool-5-thread-1 (From the trace LSP integration)
> The one trace, that is connected to the observed scanning and is in java code
> is _RepositoryUpdater.worker._ Breaking this down shows, that, although the
> forward calls split into two branches, both hit:
> _org.netbeans.modules.java.mx.project.SuiteFileOwnerQueryImpl#getOwner_
> That method is responsible for 178s CPU time. No other FileOwnerQueryImpl
> shows up in the trace, and thus this leads me to the conclusion, that this is
> fishy.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists