{"id":41014390,"url":"https://github.com/kizzx2/tigerbeetle-benchmarks","last_synced_at":"2026-01-22T09:14:39.505Z","repository":{"id":290817161,"uuid":"975662805","full_name":"kizzx2/tigerbeetle-benchmarks","owner":"kizzx2","description":"Benchmarking 1000x faster OLTP database in Go. Vibe coded.","archived":false,"fork":false,"pushed_at":"2025-06-10T15:30:25.000Z","size":17,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-10T17:26:26.820Z","etag":null,"topics":["tigerbeetle","tigerbeetle-client"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kizzx2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-30T17:27:10.000Z","updated_at":"2025-06-10T15:51:29.000Z","dependencies_parsed_at":"2025-04-30T18:34:13.683Z","dependency_job_id":"de4192fc-31c2-4387-bd87-c27b24cc20b5","html_url":"https://github.com/kizzx2/tigerbeetle-benchmarks","commit_stats":null,"previous_names":["kizzx2/tigerbeetle-benchmarks"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kizzx2/tigerbeetle-benchmarks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kizzx2%2Ftigerbeetle-benchmarks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kizzx2%2Ftigerbeetle-benchmarks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kizzx2%2Ftigerbeetle-benchmarks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kizzx2%2Ftigerbeetle-benchmarks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kizzx2","download_url":"https://codeload.github.com/kizzx2/tigerbeetle-benchmarks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kizzx2%2Ftigerbeetle-benchmarks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28660169,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T01:17:37.254Z","status":"online","status_checked_at":"2026-01-22T02:00:07.137Z","response_time":144,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["tigerbeetle","tigerbeetle-client"],"created_at":"2026-01-22T09:14:38.965Z","updated_at":"2026-01-22T09:14:39.499Z","avatar_url":"https://github.com/kizzx2.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tigerbeetle-benchmarks\n\nExperimenting with [1000x Faster Financial Transaction Database](https://tigerbeetle.com/) built for the next 30 years. Vibe coded.\n\n## Results\n\n```\n$ ./tigerbeetle version\nTigerBeetle version 0.16.38+2371483\n\n$ go version\ngo version go1.24.2 darwin/arm64 | go version go1.24.2 linux/amd64\n\ngoos: darwin | linux\ngoarch: arm64 | amd64\npkg: kizzx2.com/tigerbeetle-benchmarks\ncpu: Apple M4 Pro | AMD Ryzen 7 5800H with Radeon Graphics         \n```\n\n| Benchmark Name | Mac M4 ns/op | Linux AMD ns/op | Mac M4 TigerBeetle faster by | Linux AMD TigerBeetle faster by |\n|-|-|-|-|-|\n| BenchmarkBasicTigerBeetle | 24362892 | 3763695 | - | - |\n| BenchmarkBasicRedis | 173072 | 537230 | 🔴 -140x | 🔴 -6x |\n| BenchmarkBasicPostgres | 781365 | 2067554 | 🔴 -30x | 🔴-1x |\n| BenchmarkTwoPhaseTigerBeetle | 60988901 | 16520356 | - | - |\n| BenchmarkTwoPhaseRedis | 171658 | 560849 | 🔴 -354x | 🔴 -28x |\n| BenchmarkTwoPhasePostgres | 1533958 | 7032468 | 🔴 -39x | 🔴 -1x |\n| BenchmarkBasicBatchTigerBeetle | 27807630 | 30229617 | - | - |\n| BenchmarkBasicBatchRedis | 1362045 | 1980634 | 🔴 -20x | 🔴-14x |\n| BenchmarkBasicBatchPostgres | 86402994 | 308697749 | 🔵 2x | 🔵10x |\n| BenchmarkBasicTigerBeetleParallel | 2946523 | 230546 | - | - |\n| BenchmarkBasicRedisParallel | 38348 | 30556 | 🔴-76x | 🔴-7x |\n| BenchmarkBasicPostgresParallel | 592111 | 1435170 | 🔴-4x | 🔵6x |\n\n```\nPASS\nok      kizzx2.com/tigerbeetle-benchmarks       204.673s\n```\n\n## TL;DR\n\nTigerBeetle is about 1 - 2 order of magnitudes slower than Redis / Postgres except for when batching 1000 transactions each batch, where it starts to catch up.\n\nThere is some speed up [as suggested](https://github.com/kizzx2/tigerbeetle-benchmarks/issues/1) by running in parallel, but for the most part one would colloquially say that TigerBeetle is still drastically slower. Perhaps there are some highly specialized test case where this can differ which is not covered here.\n\n## Methodology\n\nThe first 2 scenarios are based on the [samples code from the tigerbeetle-go](https://github.com/tigerbeetle/tigerbeetle-go/tree/main/samples) client library.\n\nThe batch example was added based on the Basic example because it seemed to be losing too bad.\n\nAMD benchmark was added because it was mentioned that TigerBeetle performs significantly worse on Mac than on Linux. I could confirm that on my particular Linux set up, TigerBeetle was just 100% slower than Postgres for non batch use case.\n\nParallel benchmark was added as suggested that it would theoretically lead to being able to witness the 1000x performance difference.\n\n## How to Run\n\n1. Download TigerBeetle\n2. Run the following between each benchmark run:\n\n```\nrm ./0_0.tigerbeetle\n./tigerbeetle format --cluster=0 --replica=0 --replica-count=1 ./0_0.tigerbeetle\n./tigerbeetle start --addresses=3000 ./0_0.tigerbeetle\n```\n\n3. Start Postgres and Redis\n\n```\ndocker run --rm -it -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgres\ndocker run --rm -it -p 6379:6379 redis\n```\n\n4. Run the benchmarks\n\n```\ngo test -bench=. -count=10\n```\n\n5. :popcorn:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkizzx2%2Ftigerbeetle-benchmarks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkizzx2%2Ftigerbeetle-benchmarks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkizzx2%2Ftigerbeetle-benchmarks/lists"}