Benchmarks of kafka client libraries for Golang.
go test -timeout=5h -bench=Producer -benchmem -count 5 -benchtime=10000x > results/producer.out
go test -timeout=5h -bench=Consumer -benchmem -count 5 -benchtime=100000x > results/consumer.out
docker-compose -p kafka -f docker-compose.yml up
All the benchmarks are performed in the Intel(R) Core(TM) i7-7660U CPU @ 2.50GHz
machine with a standalone Kafka running in the docker.
All the benchmarks are performed with 10K
samples size and 5
iterations.
Sync Producer | Async Producer |
---|---|
Sync Producer | Async Producer |
---|---|
Sync Producer | Async Producer |
---|---|
All the benchmarks are performed with 10K
samples size and 5
iterations.
- confluentinc/confluent-kafka-go - Confluent's Apache Kafka Golang client.
- twmb/franz-go - A feature complete, pure Go library for interacting with Kafka.
- lovoo/goka - Goka is a compact yet powerful distributed stream processing library for Apache Kafka written in Go.
- IBM/sarama - Sarama is a Go library for Apache Kafka.
- segmentio/kafka-go - Kafka library in Go.
- Test data is generated using mockaroo