Skip to content

GraalVM Debugging Support module can reduce debugging performance #7663

Open
@mbien

Description

@mbien

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    GraalVM[ci] enable GraalVM testsJava[ci] enable extra Java tests (java.completion, java.source.base, java.hints, refactoring.java, form)debuggerperformance

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions