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

ASF GitHub Bot commented on FLINK-8172:
---------------------------------------

Github user pnowojski commented on the issue:

    https://github.com/apache/flink/pull/5104
  
    2 times improvement is for network stack only. With other things in play 
(like even simple operators) it will be smaller.
    
    As we discussed offline, I didn't want tightening up the 
connection/dependencies of `RecordSerializer`. `Buffer` is a much simpler 
dependency compare to `BufferProvider`. Think how more difficult would it be to 
test it with `BufferProvider`. However I was thinking about refactoring it in 
another direction, creating kind of `write-only` `@NotThreadSafe` 
`BufferBuilder` class.
    
    I have create a separate issue for that: 
https://issues.apache.org/jira/browse/FLINK-8178


> Remove unnecessary synchronisation in RecordSerializer
> ------------------------------------------------------
>
>                 Key: FLINK-8172
>                 URL: https://issues.apache.org/jira/browse/FLINK-8172
>             Project: Flink
>          Issue Type: Improvement
>          Components: Network
>    Affects Versions: 1.4.0, 1.3.2
>            Reporter: Piotr Nowojski
>            Assignee: Piotr Nowojski
>             Fix For: 1.5.0
>
>
> While writing the records, RecordSerializer is the only owner of the `Buffer` 
> into which data are written. Yet we are synchronisation twice per record 
> while accessing MemorySegment. Removing this synchronisation speeds up the 
> Network throughput in point to point benchmark by a factor of two (from 
> ~12500records/ms up to 23000 records/ms).



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to