GitHub user pnowojski opened a pull request:

    https://github.com/apache/flink/pull/5104

    [FLINK-8172][network] Write directly to memorySegment in RecordSerializer

    This increases throughput of network stack by factor of 2, because 
previously method getMemorySegment() was called twice per record and it is a 
synchronized method on recycleLock, while RecordSerializer is sole owner of the 
Buffer at this point, so synchronisation is not needed.
    
    ## Verifying this change
    
    This change is already covered by existing tests in `flink-runtime`.
    
    ## Does this pull request potentially affect one of the following parts:
    
      - Dependencies (does it add or upgrade a dependency): (yes / **no**)
      - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: (yes / **no**)
      - The serializers: (yes / **no** / don't know)
      - The runtime per-record code paths (performance sensitive): (**YES** / 
no / don't know)
      - Anything that affects deployment or recovery: JobManager (and its 
components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / **no** / don't know)
      - The S3 file system connector: (yes / **no** / don't know)
    
    ## Documentation
    
      - Does this pull request introduce a new feature? (yes / **no**)
      - If yes, how is the feature documented? (**not applicable** / docs / 
JavaDocs / not documented)


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/pnowojski/flink f8172

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/flink/pull/5104.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #5104
    
----
commit d807b9246a2f68e0ea8991047954396adc4703c2
Author: Piotr Nowojski <piotr.nowoj...@gmail.com>
Date:   2017-11-28T15:49:37Z

    [FLINK-8172][network] Write to memorySegment directly in RecordSerializer
    
    This increases throughput of network stack by factor of 2, because 
previously
    method getMemorySegment() was called twice per record and it is a 
synchronized
    method on recycleLock, while RecordSerializer is sole owner of the Buffer at
    this point, so synchronisation is not needed.

commit e88506d15885b0d7e60fdc9f930725e83e959fbb
Author: Piotr Nowojski <piotr.nowoj...@gmail.com>
Date:   2017-11-29T15:33:06Z

    [hotfix][network] Drop redundant this reference usages

----


---

Reply via email to