Skip to content

christianschleifer/roaring-benchmarks

Repository files navigation

roaring-benchmarks

Goal

Compare performance of the C-based croaring-rs implementation with the performance of the Rust-based roaring-rs implementation. The performance comparison will be done via benchmarks using real-world data.

Run benchmarks

Local machine

git submodule update --init --recursive 

cargo bench

AWS instance

sudo yum install -y git 
git clone https://github.com/christianschleifer/roaring-benchmarks.git
cd roaring-benchmarks
./aws/setup_aws_instance.sh

. "$HOME/.cargo/env"

cargo bench

Results

Architecture

Benchmarks were run on x86 and ARM-based processors.

Hardware

Benchmarks were run on bare metal AWS EC2 instances to minimize the impact of virtualization on the benchmarks.

x86: m6a.metal ARM: m6g.metal

Results

croaring with SIMD vs. roaring without SIMD

x86: https://christianschleifer.github.io/benchmarks/roaring-bitmaps/x86/m6a-metal/croaring-with-simd-roaring-without-simd/report/index.html

ARM: https://christianschleifer.github.io/benchmarks/roaring-bitmaps/arm/m6g-metal/croaring-with-simd-roaring-without-simd/report/index.html

croaring with SIMD vs. roaring with SIMD

x86: https://christianschleifer.github.io/benchmarks/roaring-bitmaps/x86/m6a-metal/croaring-with-simd-roaring-with-simd/report/index.html

ARM: https://christianschleifer.github.io/benchmarks/roaring-bitmaps/arm/m6g-metal/croaring-with-simd-roaring-with-simd/report/index.html

TODO: croaring without SIMD vs. roaring without SIMD TODO: Use croaring RunContainers via .run_optimize and compare with croaring without .run_optimize.