Benchmarks: quality against six other engines, on datasets anyone can rerun.
From the pinned comparator sweep in the release artifacts. Utilisation and packed fraction are recomputed by our own validator from the placements it accepted, so no engine's self-report is used.
WHEN THIS WAS MEASURED · The sweep on this page ran against the 1.3.0 release on 2026-09-15, on a request set pinned on 2026-08-05. The raw artefacts per run are kept beside the baseline in benchmarks/results/COMPARATOR-BASELINE-1.3.0.md.
What these numbers mean
- Packed fraction
- The share of the requested items that actually got placed.
- Volume utilisation
- The share of the used containers' volume actually occupied by what was placed.
- Pareto-optimal
- No competitor in this dataset beat it on both axes at once. Not the same as winning outright - a competitor can share the frontier on the same instance.
- Dominated
- At least one competitor in this dataset matched or beat it on both axes at once.
3 item types, 5 instances
| Engine | Volume utilisation | Packed fraction | Verdict |
|---|---|---|---|
| packvium | 86.06% | 90.50% | Pareto-optimal |
| packingsolver | 89.02% | 84.14% | Pareto-optimal |
| boxpacker | 81.84% | 73.84% | dominated |
| 3D-bin-packing | 80.50% | 67.32% | dominated |
| 3dbinpacking | 67.40% | 80.90% | dominated |
| xflp | 56.68% | 63.16% | dominated |
| 3d-bin-container-packing | — | — | not applicable - all-or-nothing by construction: returns nothing rather than a best effort |
12 item types, 3 instances
| Engine | Volume utilisation | Packed fraction | Verdict |
|---|---|---|---|
| packvium | 83.88% | 89.19% | Pareto-optimal |
| packingsolver | 85.44% | 87.27% | Pareto-optimal |
| boxpacker | 79.87% | 75.19% | dominated |
| xflp | 69.73% | 72.02% | dominated |
| 3dbinpacking | 53.29% | 75.61% | dominated |
| 3D-bin-packing | 53.50% | 49.07% | disqualified - rejected by our validator on one instance: collision |
| 3d-bin-container-packing | — | — | not applicable - all-or-nothing by construction: returns nothing rather than a best effort |
20 item types, 3 instances
| Engine | Volume utilisation | Packed fraction | Verdict |
|---|---|---|---|
| packvium | 82.47% | 87.54% | Pareto-optimal |
| packingsolver | 82.97% | 78.58% | Pareto-optimal |
| 3D-bin-packing | 83.48% | 75.41% | Pareto-optimal |
| boxpacker | 74.28% | 67.25% | dominated |
| xflp | 67.09% | 74.71% | dominated |
| 3dbinpacking | 50.83% | 72.18% | dominated |
| 3d-bin-container-packing | — | — | not applicable - all-or-nothing by construction: returns nothing rather than a best effort |
COMPARATOR / ONE PROFILE, SEVEN ENGINES
Volume utilisation against packed fraction, on br1.
Volume utilisation against packed fraction on the pinned OR-Library profile. Both axes are recomputed from the placements our validator accepted, and nothing is blended into a single score.
packvium86.06% · 90.50%Pareto-optimalpackingsolver89.02% · 84.14%Pareto-optimalboxpacker81.84% · 73.84%dominated3D-bin-packing80.50% · 67.32%dominated3dbinpacking67.40% · 80.90%dominatedxflp56.68% · 63.16%dominated3d-bin-container-packing— · —not applicableall-or-nothing by construction: returns nothing rather than a best effort
Two axes, and no blended score.
An engine is Pareto-optimal when nothing beat it on every axis at once. Runtime is recorded per run but is deliberately not an axis: one competitor only builds for linux/amd64 and runs under emulation here, so ranking that mixture would compare host arrangements rather than engines. Nothing on this page is a speed claim, and none should be read out of it.
See it head-to-head, one competitor at a timeWhat this benchmark does not prove
- Not a speed ranking - runtime is recorded, not scored (see "How to read this" above).
- Not proof of global optimality - bin packing is NP-hard; nothing here is a certified-optimal claim.
- Not every real-world workload - these are fixed OR-Library profiles, not a general coverage claim.
- Not a claim that Packvium wins every instance outright - Pareto-optimal means not dominated, and a competitor can share the same frontier.