Skip to content

[PERF] CommittableOffsetBatch performance #481

@Aaronontheweb

Description

@Aaronontheweb

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]

Metadata

Metadata

Assignees

No one assigned

    Labels

    perfPerformance-related issues.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions