Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perf(java): optimize map copy perf #1767

Merged
merged 3 commits into from
Jul 27, 2024

Conversation

chaokunyang
Copy link
Collaborator

What does this PR do?

optimize map copy perf and add benchmark

Related issues

Closes #1744

Does this PR introduce any user-facing change?

  • Does this PR introduce any public API change?
  • Does this PR introduce any binary protocol compatibility change?

Benchmark

Benchmark                           (bufferType)  (references)   Mode  Cnt        Score         Error  Units
CopyBenchmark.fury_copy_int_map            array         false  thrpt    3  1779502.276 ± 2305262.034  ops/s
CopyBenchmark.fury_copy_string_map         array         false  thrpt    3  1845474.980 ± 2072340.777  ops/s
CopyBenchmark.kryo_copy_int_map            array         false  thrpt    3   625471.456 ±  289827.215  ops/s
CopyBenchmark.kryo_copy_string_map         array         false  thrpt    3   649970.300 ±  404700.716  ops/s

Benchmark                           (bufferType)  (references)   Mode  Cnt        Score         Error  Units
CopyBenchmark.fury_copy_int_map            array         false  thrpt    3  2023724.754 ± 2067096.856  ops/s
CopyBenchmark.fury_copy_string_map         array         false  thrpt    3  1979796.679 ±  593560.983  ops/s
CopyBenchmark.kryo_copy_int_map            array         false  thrpt    3   569146.293 ±  461667.597  ops/s
CopyBenchmark.kryo_copy_string_map         array         false  thrpt    3   591048.755 ±  669110.894  ops/s

@chaokunyang chaokunyang merged commit 33eef02 into apache:main Jul 27, 2024
32 checks passed
@chaokunyang
Copy link
Collaborator Author

image
All remaining cost is map put, which we can't optimize

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.

[Java] Optimize map deep copy performance
2 participants