jdb creates a ThreadStartRequest and ThreadDeathRequest so it can track all 
created threads. It creates them with the SUSPEND_ALL policy. This is 
unnecessary since jdb always immediately resumes all threads after doing the 
thread bookkeeping. There is no interaction with the jdb user like there would 
be with something like a Breakpoint event, and therefore no reason to suspend.

I was debugging an app that does nothing except create threads and allow them 
to quickly exit. Changing the policy to SUSPEND_NONE sped up the execution of 
the app by about 100x (that's 100 times faster, not 100%)

-------------

Commit messages:
 - Use SUSPEND_NONE for ThreadStartRequest and ThreadDeathRequest

Changes: https://git.openjdk.org/jdk/pull/12152/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=12152&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8300811
  Stats: 4 lines in 1 file changed: 3 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/12152.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/12152/head:pull/12152

PR: https://git.openjdk.org/jdk/pull/12152

Reply via email to