Skip to content

Conversation

@grcevski
Copy link
Owner

@grcevski grcevski commented Dec 17, 2019

Improve performance by re-using ByteByffer array

During String deserialization the ByteBuffer array() can be resused
instead of creating a new byte[] and reading the data from the
ByteBuffer. If the ByteBuffer is not backed by an array creating
a new byte[] and reading the data is still required.

Performance measurement results:

Machine configuration:
4 core (8 threads) Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz
32GB of RAM
Linux x86-64, kernel: 5.0.0-37-generic

Benchmark configuration:
TPC-H (optimal index)
20 clients
180s runtime

Results (QPS higher is better, response time lower is better)

Base with (trimming-results-refactor):
Time Passed: 180.013s, Query Executed: 617034, QPS: 3427.7191091754485, Avg Response Time: 5.82426738234846ms

Improved (this branch):
Time Passed: 180.012s, Query Executed: 633469, QPS: 3519.0376197142414, Avg Response Time: 5.674053505380689ms

Co-authored-by: @grcevski @charliegracie @macarte @adityamandaleeka

@grcevski grcevski force-pushed the fix-benchmark-client branch from bc68f08 to 2eb1e6b Compare January 28, 2020 19:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants