[ 
https://issues.apache.org/jira/browse/BEAM-14132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17510909#comment-17510909
 ] 

Luke Cwik commented on BEAM-14132:
----------------------------------

Query 3 uses a stateful DoFn. A large difference between Java 17 and prior 
versions is that Jamm can't measure the object sizes that are placed in the 
cache so the object sizing isn't accurate and also incurs a cost where it 
throws an exception and a backup method is used: 
https://github.com/apache/beam/blob/c2d4e5162afdc5ad9d32da7eca681581322e515f/sdks/java/harness/src/main/java/org/apache/beam/fn/harness/Caches.java#L70

Should be addressed for benchmarks with 
https://github.com/apache/beam/pull/17110 but this solution requires users to 
still add modules for jamm where we could have enumerated them. This might 
eventually be part of the JVM as per https://openjdk.java.net/jeps/8249196


> Java 17 slow for nexmark query 3
> --------------------------------
>
>                 Key: BEAM-14132
>                 URL: https://issues.apache.org/jira/browse/BEAM-14132
>             Project: Beam
>          Issue Type: Improvement
>          Components: sdk-java-core
>            Reporter: Kiley Sok
>            Priority: P2
>         Attachments: Screen Shot 2022-03-18 at 5.09.00 PM.png
>
>
> http://metrics.beam.apache.org/d/8INnSY9Mz/nexmark-dataflow-runner-v2?orgId=1&var-processingType=streaming&var-ID=All&from=now-30d&to=now
> For streaming runner v2, Java 17 is twice as slow as Java8/11 on query 3
> https://github.com/apache/beam/blob/master/sdks/java/testing/nexmark/src/main/java/org/apache/beam/sdk/nexmark/queries/Query3.java



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to