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] CommittableOffsetBatch performance #481

Open
Aaronontheweb opened this issue Mar 19, 2025 · 0 comments
Open

[PERF] CommittableOffsetBatch performance #481

Aaronontheweb opened this issue Mar 19, 2025 · 0 comments
Labels
perf Performance-related issues.

Comments

@Aaronontheweb
Copy link
Member

Aaronontheweb commented Mar 19, 2025

Version Information
Version of Akka.NET? v1.5.39
Which Akka.NET Modules? Akka.Streams.Kafka


BenchmarkDotNet v0.14.0, Pop!_OS 22.04 LTS
13th Gen Intel Core i7-1360P, 1 CPU, 16 logical and 12 physical cores
.NET SDK 9.0.100
  [Host]     : .NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2
  DefaultJob : .NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2


Method Categories PartitionCount TotalCommits Mean Error StdDev Ratio RatioSD Gen0 Allocated Alloc Ratio
UpdateBatchWithSingleCommit MicroBenchmark,Batch 1 1000 173.9 ns 1.08 ns 0.96 ns 1.00 0.01 0.0272 256 B 1.00
UpdateBatchWithBatch MicroBenchmark,Batch 1 1000 611.9 ns 1.58 ns 1.32 ns 3.52 0.02 0.0467 448 B 1.75
UpdateBatchWithSingleCommit MicroBenchmark,Batch 1 10000 175.6 ns 1.05 ns 0.93 ns 1.00 0.01 0.0272 256 B 1.00
UpdateBatchWithBatch MicroBenchmark,Batch 1 10000 613.1 ns 1.65 ns 1.29 ns 3.49 0.02 0.0467 448 B 1.75
UpdateBatchWithSingleCommit MicroBenchmark,Batch 1 100000 173.5 ns 3.52 ns 4.57 ns 1.00 0.04 0.0272 256 B 1.00
UpdateBatchWithBatch MicroBenchmark,Batch 1 100000 614.8 ns 1.58 ns 1.40 ns 3.55 0.10 0.0467 448 B 1.75
UpdateBatchWithSingleCommit MicroBenchmark,Batch 4 1000 213.3 ns 0.69 ns 0.61 ns 1.00 0.00 0.0339 320 B 1.00
UpdateBatchWithBatch MicroBenchmark,Batch 4 1000 2,016.0 ns 4.92 ns 4.11 ns 9.45 0.03 0.0801 768 B 2.40
UpdateBatchWithSingleCommit MicroBenchmark,Batch 4 10000 176.0 ns 3.51 ns 4.32 ns 1.00 0.04 0.0272 256 B 1.00
UpdateBatchWithBatch MicroBenchmark,Batch 4 10000 2,025.3 ns 5.50 ns 4.88 ns 11.52 0.31 0.0801 768 B 3.00
UpdateBatchWithSingleCommit MicroBenchmark,Batch 4 100000 213.2 ns 0.78 ns 0.65 ns 1.00 0.00 0.0339 320 B 1.00
UpdateBatchWithBatch MicroBenchmark,Batch 4 100000 1,986.8 ns 39.35 ns 66.82 ns 9.32 0.31 0.0725 704 B 2.20
UpdateBatchWithSingleCommit MicroBenchmark,Batch 16 1000 NA NA NA ? ? NA NA ?
UpdateBatchWithBatch MicroBenchmark,Batch 16 1000 NA NA NA ? ? NA NA ?
UpdateBatchWithSingleCommit MicroBenchmark,Batch 16 10000 214.4 ns 1.99 ns 1.66 ns 1.00 0.01 0.0339 320 B 1.00
UpdateBatchWithBatch MicroBenchmark,Batch 16 10000 7,800.4 ns 18.11 ns 16.94 ns 36.38 0.28 0.1831 1856 B 5.80
UpdateBatchWithSingleCommit MicroBenchmark,Batch 16 100000 267.2 ns 1.23 ns 1.09 ns 1.00 0.01 0.0472 448 B 1.00
UpdateBatchWithBatch MicroBenchmark,Batch 16 100000 7,851.9 ns 16.50 ns 13.78 ns 29.39 0.13 0.1831 1856 B 4.14
UpdateSingleCommitWithSingleCommit MicroBenchmark,SingleCommit 1 1000 389.6 ns 3.00 ns 2.80 ns 1.00 0.01 0.0796 752 B 1.00
UpdateSingleCommitWithBatch MicroBenchmark,SingleCommit 1 1000 852.6 ns 2.38 ns 2.11 ns 2.19 0.02 0.1001 944 B 1.26
UpdateSingleCommitWithSingleCommit MicroBenchmark,SingleCommit 1 10000 422.6 ns 1.77 ns 1.48 ns 1.00 0.00 0.0796 752 B 1.00
UpdateSingleCommitWithBatch MicroBenchmark,SingleCommit 1 10000 856.8 ns 2.56 ns 2.14 ns 2.03 0.01 0.1001 944 B 1.26
UpdateSingleCommitWithSingleCommit MicroBenchmark,SingleCommit 1 100000 388.8 ns 2.63 ns 2.20 ns 1.00 0.01 0.0796 752 B 1.00
UpdateSingleCommitWithBatch MicroBenchmark,SingleCommit 1 100000 846.1 ns 2.72 ns 2.54 ns 2.18 0.01 0.1001 944 B 1.26
UpdateSingleCommitWithSingleCommit MicroBenchmark,SingleCommit 4 1000 436.8 ns 2.61 ns 2.18 ns 1.00 0.01 0.0796 752 B 1.00
UpdateSingleCommitWithBatch MicroBenchmark,SingleCommit 4 1000 2,297.1 ns 4.43 ns 3.70 ns 5.26 0.03 0.1564 1496 B 1.99
UpdateSingleCommitWithSingleCommit MicroBenchmark,SingleCommit 4 10000 391.0 ns 2.30 ns 1.92 ns 1.00 0.01 0.0796 752 B 1.00
UpdateSingleCommitWithBatch MicroBenchmark,SingleCommit 4 10000 2,296.6 ns 8.86 ns 7.40 ns 5.87 0.03 0.1564 1496 B 1.99
UpdateSingleCommitWithSingleCommit MicroBenchmark,SingleCommit 4 100000 393.7 ns 7.08 ns 6.27 ns 1.00 0.02 0.0796 752 B 1.00
UpdateSingleCommitWithBatch MicroBenchmark,SingleCommit 4 100000 2,311.5 ns 13.99 ns 12.40 ns 5.87 0.10 0.1564 1496 B 1.99
UpdateSingleCommitWithSingleCommit MicroBenchmark,SingleCommit 16 1000 NA NA NA ? ? NA NA ?
UpdateSingleCommitWithBatch MicroBenchmark,SingleCommit 16 1000 NA NA NA ? ? NA NA ?
UpdateSingleCommitWithSingleCommit MicroBenchmark,SingleCommit 16 10000 398.9 ns 3.01 ns 2.82 ns 1.00 0.01 0.0796 752 B 1.00
UpdateSingleCommitWithBatch MicroBenchmark,SingleCommit 16 10000 8,341.2 ns 24.12 ns 20.14 ns 20.91 0.15 0.3204 3032 B 4.03
UpdateSingleCommitWithSingleCommit MicroBenchmark,SingleCommit 16 100000 387.8 ns 7.80 ns 18.83 ns 1.00 0.08 0.0796 752 B 1.00
UpdateSingleCommitWithBatch MicroBenchmark,SingleCommit 16 100000 8,278.9 ns 18.72 ns 15.63 ns 21.41 1.30 0.3204 3032 B 4.03

Benchmarks with issues:
CommittableOffsetBatchBenchmark.UpdateBatchWithSingleCommit: DefaultJob [PartitionCount=16, TotalCommits=1000]
CommittableOffsetBatchBenchmark.UpdateBatchWithBatch: DefaultJob [PartitionCount=16, TotalCommits=1000]
CommittableOffsetBatchBenchmark.UpdateSingleCommitWithSingleCommit: DefaultJob [PartitionCount=16, TotalCommits=1000]
CommittableOffsetBatchBenchmark.UpdateSingleCommitWithBatch: DefaultJob [PartitionCount=16, TotalCommits=1000]

@Aaronontheweb Aaronontheweb added the perf Performance-related issues. label Mar 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
perf Performance-related issues.
Projects
None yet
Development

No branches or pull requests

1 participant