If we're talking about Windows, there is an issue I went a few rounds with engineers at Microsoft with over 15 years ago:
What really happens on Windows when you stat a file (say, with File.isDirectory, checking time stamp, etc.), the calling thread is put to sleep, the job is put on a queue, the kernel answers the question and the thread is woken up). If I recall correctly, we were simply flooding the OS with such calls. At the time, we did some instrumenting of the JDK and collected the major culprits, and where possible, eliminated those calls, or at least ensured they weren't done repeatedly for the same file. There was nothing beyond that that could be done from the JVM side. -Tim On Fri, Apr 12, 2019 at 5:38 PM Laszlo Kishalmi <laszlo.kisha...@gmail.com> wrote: > Thank you for the data! > > I'm going to create a JIRA Issue and attach these there. > > At the first sight there is something really bad on the Windows > Filesystem side. > > From the 10 second completion time at lead 5.5 seconds were spent in a > Java.ioFile.list() and java.io.File.isDirectory() call. Both have native > implementations. Usually at this point we suspecting some AntiVirus > software/ Windows Defender. > > My theory on this: As NetBeans is not (yet) installed with a signed > windows installer, the Security software(s) are handling it more > suspicious, checking every disk activity. As NetBeans uses really lot of > disk io, this is bogging down its performacne on Windows (and that's why > we are not seeing it on Linux/ Mac). As 8.2 has a signed installer, it > might get better scores at the sec software and that results better IO. > This is just a theory. > > On 4/12/19 12:41 PM, Scott Palmer wrote: > > Here is snapshot data for two events. One auto-complete (ctrl-Space) > > taking 10s, the other getting a hint (alt-Enter) taking 7s. Yes it > > does look like something is blocked. I’ve copied you and Jan directly > > in case the list strips attachements. > > > > > > > > > >> On Apr 12, 2019, at 3:34 PM, Kodewerk <k...@kodewerk.com > >> <mailto:k...@kodewerk.com>> wrote: > >> > >> Hi Scott, > >> > >> Please export Snapshot data. As I mentioned before, this is likely a > >> stalled thread and as such an execution profiler is likely to not > >> report it. The most useful view IME are thread dumps at about 1 > >> second intervals. > >> > >> Kind regards, > >> Kirk > >> > >> > >>> On Apr 12, 2019, at 12:23 PM, Scott Palmer <swpal...@gmail.com > >>> <mailto:swpal...@gmail.com>> wrote: > >>> > >>> I just experienced a 10s delay before the auto-complete popup > >>> appeared (did see the “Please wait…” though). That was the second > >>> press of auto-complete at the same spot. The first attempt took 8 > >>> seconds. I triggered the profiling for each, but I suspect the > >>> first attempt may be tainted because the Gradle project was stuck > >>> loading - there was a dependency that it couldn’t get. I commented > >>> out that dependency (didn’t need it) so project was loaded fully and > >>> tried again. This is with a very tiny toy project. I single-class > >>> microbenchmark using the JMH gradle plugin. > >>> > >>> There are options to export “Sanpshot Data”, “Forward Calls”, > >>> “Hotspots” … which of these do you want? > >>> > >>> > >>> Scott > >>> > >>>> On Apr 12, 2019, at 12:06 PM, Jan Lahoda <lah...@gmail.com > >>>> <mailto:lah...@gmail.com>> wrote: > >>>> > >>>> Hi Scott, > >>>> > >>>> In this case, it might be useful/helpful if we had the self > >>>> profiler snapshots. Possibly for one of the features, e.g. code > >>>> completion: > >>>> > >>>> http://wiki.netbeans.org/FaqProfileMeNow< > http://wiki.netbeans.org/FaqProfileMeNow> > >>>> > >>>> (Refactoring/findusages is currently much faster with nb-javac than > >>>> without it, but the difference should be much smaller for code > >>>> completion, etc.) > >>>> > >>>> Jan > >>>> > >>>> 12. dubna 2019 16:26:29 SELČ, Scott Palmer <swpal...@gmail.com > >>>> <mailto:swpal...@gmail.com>> napsal: > >>>> What is the best course of action for reporting slowness? I can’t > >>>> share my project. > >>>> I’m not certain how to give step-by-step instructions when the > >>>> problem is basically one step in most cases. E.g. invoke > >>>> auto-complete - nothing happens for several seconds. Invoke rename > >>>> - dialog doesn’t appear for several seconds. Find usages - > >>>> extremely slow > 5 second delay on a private member of a class less > >>>> than 100 lines. > >>>> > >>>> In general it seems NB 11 is noticeably slower than NB 8.2. Not > >>>> good considering slowness was already my #1 complaint about NB 8.2. > >>>> I have so far found the benefits of NB outweigh the fact that it > >>>> is much slower than other IDEs for the same operations, but the > >>>> slowness of NB 11 is tipping the scale. I don’t want to switch > >>>> IDEs, pease don’t interpret this as some sort of threat to do so. I > >>>> would like to help find the issues in NB. But I don’t have the > >>>> bandwidth to debug NB and not being about to share my project makes > >>>> it difficult to provide helpful reports :-( > >>>> > >>>> Are others seeing the slowness? > >>>> > >>>> Find usages, renames, call-hierarchy, auto-complete… things I use > >>>> all the time, I often have to wait 5 to 10 seconds for a response > >>>> from the IDE, sometimes more. > >>>> > >>>> I’ve already deleted user dir and cache and restarted. > >>>> I’m using Gradle-based Java projects, running NB 11.0 with JDK 8u202. > >>>> > >>>> Is there a wiki page with instructions on profiling the IDE? Maybe > >>>> I can collect something useful. > >>>> > >>>> Scott > >>>> To unsubscribe, > >>>> e-mail:dev-unsubscr...@netbeans.incubator.apache.org > >>>> <mailto:dev-unsubscr...@netbeans.incubator.apache.org> > >>>> For additional commands, > >>>> e-mail:dev-h...@netbeans.incubator.apache.org > >>>> <mailto:dev-h...@netbeans.incubator.apache.org> > >>>> > >>>> For further information about the NetBeans mailing lists, visit: > >>>> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists< > https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists> > >>>> > >>>> > >>>> > >>>> > >>>> -- > >>>> Odesláno z mého telefonu s Androidem pomocí pošty K-9 Mail. Omluvte > >>>> prosím moji stručnost. > >>> > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail:dev-unsubscr...@netbeans.incubator.apache.org > >> <mailto:dev-unsubscr...@netbeans.incubator.apache.org> > >> For additional commands, > >> e-mail:dev-h...@netbeans.incubator.apache.org > >> <mailto:dev-h...@netbeans.incubator.apache.org> > >> > >> For further information about the NetBeans mailing lists, visit: > >> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists > > > -- http://timboudreau.com