[ 
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)

Reply via email to