On Fri, 14 Mar 2025 01:28: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 I see in the latest update, you've removed sync and inUse. Both are fine as Transformers are not designed to be used concurrently and inUse is unnecessary as each thread has its own reader. If you're interested, you may look into more history in the upstream Xalan code where DTMManager was added with sync because of finalization. Otherwise, the change is fine to me. Please address Alan's comment. Also, copyright year and @LastModified tag need to be updated. ------------- PR Review: https://git.openjdk.org/jdk/pull/23185#pullrequestreview-2715322973