Skip to content

Benchmark Results

These plots compare Fastkit-Mobility with every library that offers the same function, on the largest datasets we benchmark. Bars show average time (or peak extra memory) on a log axis, and the label on a Fastkit-Mobility bar is its advantage over the best other library. A bar reading timeout or error means the library did not finish.

The numbers are environment-specific, so they should be read as benchmark evidence for this run rather than as a universal performance guarantee.

One function, every library

jump_lengths is the function the most libraries share.

jump_lengths speed across eight libraries

Measures

Individual

Individual measures, execution time

Individual measures, peak extra memory

Collective

Collective measures, execution time

Collective measures, peak extra memory

Preprocessing

Preprocessing, execution time

Preprocessing, peak extra memory

Distributed baseline: SparkMobility

Execution time against SparkMobility

Peak extra memory against SparkMobility

Measures - Evaluation

The evaluation and model plots below are earlier snapshots in the previous plotting style.

Measures - Evaluation - (Speed) - NumPy and Rust kernels

measures evaluation speed benchmark

Models

Models Agents - Speed

Simple models speed benchmark

Models Agents - Speed (No rust core yet...)

Simple models speed benchmark

Privacy

Privacy risk, execution time

Reproduce the figures

The figures are drawn from the raw results of the sibling fastmob_benchmarks repository:

uv run --no-project --with matplotlib python scripts/make_benchmark_figures.py

Each figure is one entry of figures() in that script, so a new comparison needs one new entry.