RFR: 8346230: [perf] scalability issue for the specjvm2008::xml.transform workload

Alan Bateman alanb at openjdk.org
Mon Jan 20 13:53:40 UTC 2025


On Fri, 17 Jan 2025 23:08:20 GMT, Vladimir Ivanov <vaivanov at openjdk.org> wrote:

> The synchronized scope was reduced from whole methods to sections that need hash map access control. The tier1 and jaxp tests are OK. The score of the specjvm2008:xml.transform improved a little bit. On the Xeon 8480+ reported scores are:
> original: 1vCPU - 148.4, 112vCPU - 12743.4, 224vCPU - 13481.31 ops/m
> patched: 1vCPU - 149.77, 112vCPU - 13122.82, 224vCPU - 14751.57 ops/m
> 
> According to the JFR the locking time for XMLReader object reduced from ~27sec to ~20sec for 224vCPU run.

src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/XMLReaderManager.java line 53:

> 51:      * Cache of XMLReader objects
> 52:      */
> 53:     private volatile ThreadLocal<ReaderWrapper> m_readers;

It's not very common to see a ThreadLocal as an instance field but here it's more like a TL per XMLReaderManager instance. Is there any reason why this can't be eagerly created and use a final field here?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23185#discussion_r1922437396


More information about the core-libs-dev mailing list