Share your thoughts, 1 month free Claude Pro on usSee more
WorkDL logo mark

AMBER: A Columnar Architecture for High-Performance Agent-Based Modeling in Python

About

Python is widely used for agent-based modelling because it is accessible and has a mature scientific ecosystem, but object-per-agent execution incurs interpreter overhead that restricts the population sizes feasible in interactive modelling, calibration, and parameter sweeps. This paper presents AMBER, a Python framework that stores agent state in a Polars-backed columnar table and exposes population operations through a compact view API. The framework preserves conventional model and agent abstractions while translating common population updates into compiled column operations; behaviours that do not vectorise remain expressible through a buffered object-oriented path. We evaluate AMBER on wealth transfer, random walk, and spatial SIR benchmarks against Mesa, AgentPy, SimPy, Melodie, Agents.jl, and AMBER's own loop path, using invariant checks to verify comparable model outputs before timing. Across the tested workloads, AMBER has the lowest execution time among Python-hosted implementations and achieves speedups of up to $1118\times$ over Mesa; on the largest SIR benchmark it is also faster than the Julia-based Agents.jl implementation.

Anh-Duy Pham• 2026

Related benchmarks

TaskDatasetResultRank
Agent-Based ModelingWealth Transfer N=10,000 agents (test)
Peak Memory Usage (MB)45
2
Agent-Based ModelingSIR Epidemic N=10,000 agents (test)
Peak Memory (MB)52
2
Agent-Based ModelingRandom Walk N=10,000 agents (test)
Peak Memory Usage (MB)48
2
Agent-Based SimulationWealth Transfer
Execution Time (s)2.1
2
Agent-Based SimulationSIR Epidemic
Execution Time (s)4.8
2
Agent-Based SimulationRandom Walk
Execution Time (s)1.9
2
Showing 6 of 6 rows

Other info

Follow for update