RFR: JDK-8002152: javadoc could write out files on a worker thread [v3]

Jonathan Gibbons jjg at openjdk.java.net
Tue Feb 23 17:36:10 UTC 2021


> The standard doclet works by creating `HtmlDocument` objects and then writing them out. Writing them can be safely done on a separate thread, and doing so results in about an 8% speedup, by overlapping the write/IO time with the time to generate the next page to be written.
> 
> The overall impact on the codebase is deliberately small, coming down to a critical `if` statement in `HtmlDocletWriter` to "write now" or "write later". As such, it is easy to disable the feature if necessary, although no issues have been found in practice. The background writer uses an `ExecutorService`, which provides a lot of flexibility, but experiments show that it is sufficient to use a single background thread and to block if new tasks come available while writing a file.
> 
> The feature is "default on", with a hidden option to disable it if necessary.

Jonathan Gibbons has updated the pull request incrementally with one additional commit since the last revision:

  Downgrade BackgroundWriter config values from hidden options to "internal" system properties.

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/2665/files
  - new: https://git.openjdk.java.net/jdk/pull/2665/files/68702597..939cc080

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2665&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2665&range=01-02

  Stats: 146 lines in 6 files changed: 24 ins; 106 del; 16 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2665.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2665/head:pull/2665

PR: https://git.openjdk.java.net/jdk/pull/2665


More information about the javadoc-dev mailing list