Skip to main content

Performance

SlateDB is still a young project and its performance has proven reasonable for a wide range of use cases already. Consequently, we haven't spent a lot of time optimizing SlateDB's performance. We plan to do so in the future.

We have just begun to track SlateDB's performance. We currently have two benchmarking tools: bencher and microbenchmarks.

Benchmarks

SlateDB comes with a bencher tool to benchmark put/get operations against an object store. You can configure the tool with a variety of options. See bencher/README.md for details. benchmark-db.sh also serves as an example.

Nightly

We run this tool nightly and publish the results here. The benchmark runs on WarpBuild's warp-ubuntu-latest-x64-16x runners.

warning

We have configured the job to use a LocalFilesystem instead of S3, so the results don't reflect performance against a real S3 bucket. We plan to use S3 with this benchmark in the future.

Microbenchmarks

We use Criterion to run microbenchmarks (located in benches) for specific internal SlateDB functions. A comment is left on all PRs when a > 200% slowdown is detected.

Nightly

Microbenchmarks also run nightly with the pprof-rs profiler. The resulting profiler protobuf files are published here. The microbenchmarks run on standard Linux Github action runners.

We highly recommend using pprof.me to view the <microbenchmar>.pb files, though any pprof compatible tool may be used.

Copyright © 2025 SlateDB Authors. All rights reserved.
slateDB