OCPM ENGINE
16.1x
faster than OCPQ on the strict Q1-Q7 benchmark, exact parity at every node
55.5x
faster than vanilla PostgreSQL + PM4Py across eight SAP O2C and P2P workloads
26x
less peak client memory than the PM4Py arms on the same workloads
100%
bit-exact answers, verified by SHA-256 hash gates on every published benchmark cell
Factorized execution capsules
Events and bindings move as compact capsules: one shared activity path with aligned per-execution vectors, and offset-indexed binding memberships. No mandatory event-row or Cartesian expansion; rows expand lazily through an exact-size iterator only when a consumer needs them.
Capability-aware provider negotiation
Every provider declares versioned semantic capabilities and cost estimates for a specific dataset generation. The engine pushes work down only when capability and cost justify it, and otherwise runs an exact canonical fallback that returns the same answer.
Transactionally published generations
Data is staged, validated, and published atomically as immutable generations. Every capsule, statistic, and model artifact is bound to the generation that produced it, so readers never observe partial state.
One scan, many windows
An interval index routes each complete process execution to every matching training, test, comparison, or drift window during a single bounded source scan, with results merged back in caller order.
Exact sufficient statistics
Discovery, conformance, and prediction consume exact aggregates computed next to the data; model fitting, calibration, and artifacts stay source-neutral in Rust with content hashes.
The benchmark
Latency vs the field
OCPQ Q1-Q7 geometric-mean latency, BPIC 2017 fixture, lower is better
Throughput under concurrency
SAP order-to-cash DFG queries per second, log scale
Peak client memory
SAP order-to-cash workloads, lower is better
Benchmark figures are geometric means on fixed, published workloads with pinned versions and exact-answer verification; they do not imply the same ratio for arbitrary queries. ocpm-engine and pg_ocpm are Apache-2.0. (c) 2026 Vertical Bar, Inc.
Factorized execution capsules
Events and relationship bindings travel as compact capsules that share activity paths and binding dimensions instead of materializing one row per event. Algorithms consume capsules directly and expand rows only when a consumer genuinely needs them.
Capability-aware providers
The engine negotiates versioned capabilities and cost estimates with each data source: pg_ocpm inside PostgreSQL 13-18, an existing DuckDB catalog over Parquet snapshots, or in-memory data. When a pushdown is unavailable, an exact canonical fallback produces the same answer.
Exactness, gated
Optimized and fallback paths are tested for canonical equality, and every published benchmark cell passes an exact-answer hash gate. Speed never changes the result.