# Sand Benchmarks This project measures both the dense reference backend and the experimental chunk backend. ## Modes - `dense-baseline` - `chunk-baseline` - `app-sized` - `snapshot-scenes` ## Main workloads - `empty` - `sparse_rain` - `dense_pile` - `gas_pocket` - `tool_stress` - app-sized `sand_fill` - app-sized `mixed_pile` - app-sized `paint_stress` ## Metrics - average `Step` time - average `BuildRgbaFrame` time - app-sized FPS-equivalent comparison numbers - chunk workload counters (`loaded`, `active`, `stepped`, `dirty`, `field_cells`) - estimated storage footprint ## Run ```powershell dotnet run --project Sand.Benchmarks/Sand.Benchmarks.csproj -c Release -- --mode app-sized ``` ```powershell dotnet run --project Sand.Benchmarks/Sand.Benchmarks.csproj -c Release -- --mode snapshot-scenes ``` ## Promotion gate - sparse step speedup must be `>= 25%` - sparse memory reduction at `1024x1024+` must be `>= 40%` - dense `512x512` regression must stay within `10%` - deterministic snapshots must be reviewed after `120` and `300` steps before storage promotion