On Fri, 28 Mar 2025 23:48:34 GMT, Vladimir Ivanov <vaiva...@openjdk.org> wrote:
>> The HashMap for caching was deleted. Now it use only ThreadLocal variable >> without synchronization. >> According to the specjvm2008::xml.transform workload the performance for low >> threads counts was not affected and improved for high threads counts. >> For the 2 socket server based on Xeon 6780E reported scores are (average for >> 3 runs): >> 2x6780E | 1C | 32C | 64C | 96C | 128C | 160C | 192C | 224C | 256C | 288C >> orig | 138.9567 | 4127.567 | 8203.907 | 12252.07 | 15496.65 | >> 16222.91 | 15846.48 | 14758.43 | 14612.34 | 13969.25 >> patched | 139.7067 | 4118.763 | 8352.657 | 12491.14 | 16085.63 | 18101.67 | >> 21001.52 | 23847.33 | 26481.25 | 28273.93 > > Vladimir Ivanov has updated the pull request incrementally with one > additional commit since the last revision: > > 8346230: [perf] scalability issue for the specjvm2008::xml.transform > workload src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/XMLReaderManager.java line 112: > 110: reader = threadHasReader ? rw.reader : null; > 111: String factory = System.getProperty(property); > 112: if (threadHasReader && Please modify the comments to reflect your new behaviour. src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/XMLReaderManager.java line 148: > 146: // for this thread, remove it. > 147: ReaderWrapper rw = m_readers.get(); > 148: if (rw != null && rw.reader == reader && reader != null) { Suggestion: if (rw != null && rw.reader == reader) { ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23185#discussion_r2039236336 PR Review Comment: https://git.openjdk.org/jdk/pull/23185#discussion_r2039246817