netbeans icon indicating copy to clipboard operation
netbeans copied to clipboard

GraalVM Debugging Support module can reduce debugging performance

Open mbien opened this issue 1 year ago • 0 comments

while debugging a problem I noticed a performance anomaly when I debugged NB 23 with NB 22. (JDK Corretto 22.0.2, version made no difference)

benchmark:

  1. clear the test userdir (nbbuild/testuserdir/)
  2. start debugging a NB module
  3. create a new maven project using the dev build IDE, measure the time between pressing finish and project open

results:

NB   run1  run2  run3
22   42s   6:33
21   46s   7:04  38s
20   1:10
19   1:05  18s

The first observation is that the time is vastly different between runs. But even the faster runs are surprisingly slow. This is also no recent regression since I tested even NB 19.

The second observation is that the number of JarClassLoader warnings correlated with how long it took, example warning:

WARNING [org.netbeans.JarClassLoader]: Opening /home/mbien/NetBeansProjects/netbeans/nbbuild/netbeans/ide/modules/ext/truffle-api-24.0.0.jar took 651 ms

(there can be a lot of repeating warnings)

async profiler flamegraph showed that a most of the time is spent in org.graalvm.polyglot.* codepaths. truffle_debug.html.zip GraalEnginesProvider#enumarateLanguages specifically.

to verify this I uninstalled GraalVM Debugging Support and tested again:

NB   run1  run2 
22   2s    3s

(don't uninstall the module in your "production" IDE)

Debugging did still work.

This is going to need some more investigations.

mbien avatar Aug 12 '24 00:08 mbien