GitHub user brightchen opened a pull request: https://github.com/apache/apex-core/pull/455
APEXCORE-606-RV: review only: optimise kryo output stream. This is a prototype of optimize kryo output stream. The main focus is avoiding memory copy and garbage collection to increase the performance. - SerializationBuffer is the the class extends kryo Output which use the WindowedBlockStream to manage the memory. - WindowedBlockStream is the memory management class which support manage memory blocks based windows. The windowed related function can be ignored now - BlockStream is the super class of WindowedBlockStream which manage blocks - CodecPerformanceTest is the class which test the performance. Please change the CodecPerformanceTest.loop to a number bigger than 100 before really do the performance test. And test the use case one by one as initialize impact the performance. - PartitionSerde is the class serialize partition and object which can be used by BufferServerPublisher. - BufferServerPublisher.put_new(Object) is the implementation use new stream. You can merge this pull request into a Git repository by running: $ git pull https://github.com/brightchen/apex-core APEXCORE-606-RV Alternatively you can review and apply these changes as the patch at: https://github.com/apache/apex-core/pull/455.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 #455 ---- commit a540faa7f60fc220149cf087efee0ac3698ff2ce Author: brightchen <bri...@datatorrent.com> Date: 2016-12-27T23:09:11Z APEXCORE-606-RV: review only: optimise kryo output stream. ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---