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

Robert Burke commented on BEAM-4726:
------------------------------------

It might be possible to further reduce the hot path per element and remove the 
conditional checks on inputs, such as extra arguments (like emitters & side 
inputs), and handling outputs, as are consistent per invocation.

 

Except for error handling, everything is identical between invocations, so it 
might be possible to target the specific assignments into the args, and avoid 
repeating values that aren't changing (eg, the context, the emitters & side 
input iterators, which only need to be re-set.)

> Reduce ParDo per element Invoke overhead
> ----------------------------------------
>
>                 Key: BEAM-4726
>                 URL: https://issues.apache.org/jira/browse/BEAM-4726
>             Project: Beam
>          Issue Type: Sub-task
>          Components: sdk-go
>            Reporter: Robert Burke
>            Assignee: Robert Burke
>            Priority: Major
>          Time Spent: 7h 20m
>  Remaining Estimate: 0h
>
> Each call to invoke allocates a new args []interface{}, but the common case 
> is to run the same ProcessElement function over and again. It should be 
> possible to have a container struct to retain the args slice, and avoid 
> recomputing the indices for where to assign parameters before calling the 
> ProcessElementFn.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to