Skip to content

Instantly share code, notes, and snippets.

@batiati
Last active September 1, 2022 16:33
Show Gist options
  • Save batiati/e525b4438288b1e44ba644d5023fbe6a to your computer and use it in GitHub Desktop.
Save batiati/e525b4438288b1e44ba644d5023fbe6a to your computer and use it in GitHub Desktop.
Simple benchmark of tb_client implementations

Simple benchmark of tb_client implementations

  • Tigerbeetle client and server compiled with -Drelease-safe
  • Using a single, local Tigerbeetle replica, formated before each execution.
  • Create 2 accounts.
  • Create N batches of transfers with 8191 transactions per batch (full message lenght), measuring the time.
  • Prints the total time, P100 time per batch, and transactions per second ratio.

1. Zig benchmark

Source code: tigerbeetle/src/benchmark.zig

Avg time per batch: 7ms

tb_zig

2. Go benchmark

Source code: tigerbeetle-go/tb_client_test.go

Avg time per batch: 59ms

tb_go

3. Dotnet benchmark

Source code: tigerbeetle-dotnet/src/TigerBeetle.Benchmarks/Benchmark.cs

Avg time per batch: 25ms

tb_dotnet

4. Java benchmark

Source code: tigerbeetle-java/src/java/src/com/tigerbeetle/Client.java

Avg time per batch: 27ms

tb_java

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