[ https://issues.apache.org/jira/browse/BEAM-14470?focusedWorklogId=770416&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-770416 ]
ASF GitHub Bot logged work on BEAM-14470: ----------------------------------------- Author: ASF GitHub Bot Created on: 13/May/22 22:55 Start Date: 13/May/22 22:55 Worklog Time Spent: 10m Work Description: lostluck opened a new pull request, #17673: URL: https://github.com/apache/beam/pull/17673 This PR uses the new generic registrations to optimize the performance of the load tests WRT reflective invocation. This includes DoFns, Functions, Iterators, and Emitters. This required adding registrations for the synthetic SDF source, the RuntimeMonitor, and any test specific DoFns or functions. In many cases, performance has improved! But not quite to Java levels. That JIT is black magic, though Go might be able to get closer with some effort. In addition: * Always processes the metrics, and print out the measurement in human readable formats, even if we aren't uploading. * Allows for a "mixed mode" method approach for the generic method invocation wrappers. * Previous behavior would cause a break for SDFs and similar, since the methods were unavailable. This allows for a fallback using standard reflective wrappers for the additional low frequency methods. * Fixes the SideInput load tests: they weren't using the same load as the python tests, nor were they measuring from the correct point (after initializing the side input data). ------------------------ Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily: - [ ] [**Choose reviewer(s)**](https://beam.apache.org/contribute/#make-your-change) and mention them in a comment (`R: @username`). - [ ] Format the pull request title like `[BEAM-XXX] Fixes bug in ApproximateQuantiles`, where you replace `BEAM-XXX` with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue. - [ ] Update `CHANGES.md` with noteworthy changes. - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). See the [Contributor Guide](https://beam.apache.org/contribute) for more tips on [how to make review process smoother](https://beam.apache.org/contribute/#make-reviewers-job-easier). To check the build health, please visit [https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md](https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md) GitHub Actions Tests Status (on master branch) ------------------------------------------------------------------------------------------------ [](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule) [](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule) [](https://github.com/apache/beam/actions?query=workflow%3A%22Java+Tests%22+branch%3Amaster+event%3Aschedule) See [CI.md](https://github.com/apache/beam/blob/master/CI.md) for more information about GitHub Actions CI. Issue Time Tracking ------------------- Worklog Id: (was: 770416) Remaining Estimate: 0h Time Spent: 10m > Optimize load tests w/generic registrations > ------------------------------------------- > > Key: BEAM-14470 > URL: https://issues.apache.org/jira/browse/BEAM-14470 > Project: Beam > Issue Type: Improvement > Components: sdk-go, testing > Reporter: Robert Burke > Assignee: Robert Burke > Priority: P2 > Time Spent: 10m > Remaining Estimate: 0h > > With Generic Registration available, a way to indicate the value would be via > the load tests. > In particular the following tests should be optimized: > http://metrics.beam.apache.org/d/fK0U4JqWz/cogbk-load-tests?orgId=1&var-processingType=batch&var-sdk=go > http://metrics.beam.apache.org/d/WNzYt13Zk/combine-load-tests?orgId=1&var-processingType=batch&var-sdk=go > http://metrics.beam.apache.org/d/UYZ-oJ3Zk/gbk-load-tests?orgId=1&var-processingType=batch&var-sdk=go > http://metrics.beam.apache.org/d/MOi-kf3Zk/pardo-load-tests?orgId=1&var-processingType=batch&var-sdk=go > http://metrics.beam.apache.org/d/-E9aGlFGk/side-input-load-tests?orgId=1&var-processingType=batch&var-sdk=go > Benchmarks show reduce per call overhead by about ~300ns per parameter in the > invoked user function, just like the code generated, and any improvement > should be reflected by the load test graphs going forward. -- This message was sent by Atlassian Jira (v8.20.7#820007)