[ https://issues.apache.org/jira/browse/BEAM-14347?focusedWorklogId=769216&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-769216 ]
ASF GitHub Bot logged work on BEAM-14347: ----------------------------------------- Author: ASF GitHub Bot Created on: 11/May/22 17:51 Start Date: 11/May/22 17:51 Worklog Time Spent: 10m Work Description: lostluck commented on code in PR #17613: URL: https://github.com/apache/beam/pull/17613#discussion_r870594841 ########## sdks/go/pkg/beam/register/register_test.go: ########## @@ -672,3 +675,133 @@ func (fn *PartialCombiner2) AddInput(i int, c CustomType) int { func (fn *PartialCombiner2) MergeAccumulators(i1 int, i2 int) int { return i1 + i2 } + +// Foo is a struct with a method for measuring method invocation +// overhead for StructuralDoFns. +type Foo struct { + A int +} + +// ProcessElement is a method for measuring a baseline of structural dofn overhead. +func (f *Foo) ProcessElement(b CustomType) int { + return f.A + b.val +} + +func MakeMultiEdge(f *graph.DoFn) graph.MultiEdge { + return graph.MultiEdge{ + DoFn: f, + } +} + +type callerCustomTypeŠint struct { Review Comment: Correct, as a rule, one can but *shouldn't* use such characters in one's Go identifiers. So I picked symbols that were hard to type, to emphasize that one shouldn't be using any of these directly. The generic approach avoids this entirely, since anything generated is already inaccessible to the user, since we don't expose those types to them at all. This allows us to changes things fairly freely, as long as the user interface doesn't change. Issue Time Tracking ------------------- Worklog Id: (was: 769216) Time Spent: 14h 40m (was: 14.5h) > [Go SDK] Allow users to optimize DoFns with a single generic registration > function > ---------------------------------------------------------------------------------- > > Key: BEAM-14347 > URL: https://issues.apache.org/jira/browse/BEAM-14347 > Project: Beam > Issue Type: New Feature > Components: sdk-go > Reporter: Danny McCormick > Assignee: Danny McCormick > Priority: P2 > Time Spent: 14h 40m > Remaining Estimate: 0h > > Right now, to optimize DoFn execution, users have to use the code generator. > This updates to allow them to use generics instead. -- This message was sent by Atlassian Jira (v8.20.7#820007)