This subdirectory contains benchmarks and tools to run them. This is currently only implemented for the C library and Python bindings but may expand to include the R bindings as well.
The structure of the C benchmarks is as follows:
FetchContent. Benchmarks are run using ctest.You can run benchmarks for a single configuration (e.g., local) with:
mkdir build && cd build cmake .. --preset local cmake --build . ctest
The provided benchmark-run-all.sh creates (or reuses, if they are already present) build directories in the form build/<preset> for each preset and runs ctest.
You can build a full report by running:
python generate-fixtures.py # requires pyarrow ./benchmark-run-all.sh cd apidoc && doxygen && cd .. quarto render benchmark-report.qmd
The Python benchmarks are a standard asv project. You can run the benchmarks with:
# pip install asv python generate-fixtures.py # requires pyarrow asv run