Skip to contents

The epiworld-benchmark compares epiworldR, the C++ library that powers it, the Python wrapper, and other epidemic agent-based-model engines. It runs common SEIRH models on common contact networks and records simulation time and resident memory.

In the scenarios currently covered, the epiworld family is among the fastest. Native epiworld is also among the lower-memory implementations; epiworldR shares that simulation core while its overall process memory includes R’s runtime. The figures below summarize the current scenarios at their largest population sizes.

Median simulation time per replicate across the currently implemented benchmark scenarios, with each scenario at its largest population size. Values use a logarithmic seconds scale.

Median simulation time per replicate. Source: the benchmark overview.

Median overall peak resident memory across the currently implemented benchmark scenarios, with each scenario at its largest population size. Values use a logarithmic MiB scale.

Median overall peak resident memory. Source: the benchmark overview.

A work in progress

This benchmark is a snapshot of the versions, SEIRH workloads, and environment tested so far; it is not a universal ranking. Other engines may perform especially well for scenarios better aligned with their designs. The benchmark is still adding engines and scenarios, and welcomes contributions, corrections, and implementation improvements. See its methods, full results, scenario guide, issues, and pull requests for the current scope and ways to participate.