Skip to content

Instantly share code, notes, and snippets.

@Aaronontheweb
Last active March 18, 2025 13:28
Show Gist options
  • Save Aaronontheweb/7a6905848542e09125d120f5ebabdaea to your computer and use it in GitHub Desktop.
Save Aaronontheweb/7a6905848542e09125d120f5ebabdaea to your computer and use it in GitHub Desktop.
Akka.Streams.Kafka v1.5.39-beta3 benchmark results

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
  LongRun : .NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2

Job=LongRun  EvaluateOverhead=False  Concurrent=True
Server=True  InvocationCount=1  IterationCount=10
LaunchCount=3  RunStrategy=Monitoring  UnrollFactor=1
WarmupCount=3

Method PollBatchSize Mean Error StdDev msg/sec
ConsumeMessageAsync 10 NA NA NA <not found>
ConsumeMessageAsync 100 NA NA NA <not found>
ConsumeMessageAsync 500 169.3 μs 0.82 μs 1.23 μs 5,906.44
                                                                                                             
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                                                       
  LongRun : .NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2                                                       
                                                                                                             
Job=LongRun  EvaluateOverhead=False  Concurrent=True                                                         
Server=True  InvocationCount=1  IterationCount=10                                                            
LaunchCount=3  RunStrategy=Monitoring  UnrollFactor=1                                                        
WarmupCount=3                                                                                                
                                                                                                             
Method PollBatchSize Mean Error StdDev msg/sec
ConsumeMessageAsync 10 78.58 μs 3.662 μs 5.481 μs 12,725.75
ConsumeMessageAsync 100 46.44 μs 2.329 μs 3.486 μs 21,533.17
ConsumeMessageAsync 500 42.31 μs 2.553 μs 3.821 μs 23,637.83
@Aaronontheweb
Copy link
Author

IMHO, I think the MergeHub we're using in the partitioned benchmarks is a source of performance issues - the component takes A LONG TIME to start under some conditions. I think we must be running into akkadotnet/akka.net#7253 (but for MergeHub, not BroadcastHub. Even with only ~3 publishers this makes me wonder if there's something off with the hub design there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment