C# shell, ASM core
Studio stays in C# for Windows integration, while hot code paths such as `closedbit256.asm`, `cb_engine.asm`, and `cbp_lang.asm` handle arithmetic and package work closer to the metal.
ClosedBit Metrics
Release benchmark snapshot, measured locally June 11, 2026
These numbers are a snapshot, not a universal promise. Each tab says what was measured, what matched, and where ClosedBit still loses.
Fairness status
The PhysX and Bullet tabs use one shared rigid-stack spec: 512 bodies, 2,000 fixed steps, 1/120 second timestep, gravity -9.81, 0.5 half-extent boxes, matching start positions, and harness id rigid-stack-512x2000-dt120-v2. This is a narrow physics workload, not proof that every full game scene is faster.
| Release-suite row | ClosedBit | Optimized C++ | Result |
|---|---|---|---|
| Graphics | 20,308.1 FPS average | 5,808.332 FPS average | ClosedBit was faster in this release row |
| Wide math | 10,627,670,202 ops/sec | 1,349,020,000 ops/sec | ClosedBit was faster in this release row |
| Paging | 17,474.667 cold page faults | 2,921.333 cold page faults | C++ 5.982x fewer faults |
| Memory | 28,246,016 byte graphics peak working set | 11,650,389 byte C++ peak working set | Memory shown separately from speed |
| Scope | This tab is the ClosedBit release suite. It is separate from the PhysX and Bullet rigid-stack harness. | ||
| Same-harness row | ClosedBit | PhysX | Result |
|---|---|---|---|
| Harness | rigid-stack-512x2000-dt120-v2 | rigid-stack-512x2000-dt120-v2 | Comparable input scene |
| FPS-equivalent | 847,816.872 | 6,173.868 | ClosedBit was faster in this narrow harness |
| Speed | 434,082,238.237 body-steps/sec | 3,161,020.664 body-steps/sec | ClosedBit processed more body steps here |
| Elapsed time | 2.359 ms median | 323.946 ms median | ClosedBit had lower median elapsed time |
| Resource usage | 23.023 MB peak working set | 11.262 MB peak working set | PhysX 2.044x leaner |
| Paging | 14,062 page faults | 2,933 page faults | PhysX 4.794x fewer faults |
| Artifact weight | 1.3 KB .cba package, shared runtime separate | 4,723.5 KB benchmark package with PhysX DLLs | ClosedBit artifact is smaller; runtime model differs |
| Solver note | ClosedBit deterministic CB-Physics.rigid_stack | PhysX CPU rigid-body scene | Same input recipe, different solver internals |
| Same-harness row | ClosedBit | Bullet | Result |
|---|---|---|---|
| Harness | rigid-stack-512x2000-dt120-v2 | rigid-stack-512x2000-dt120-v2 | Comparable input scene |
| FPS-equivalent | 847,816.872 | 1,094.281 | ClosedBit was faster in this narrow harness |
| Speed | 434,082,238.237 body-steps/sec | 560,272.03 body-steps/sec | ClosedBit processed more body steps here |
| Elapsed time | 2.359 ms median | 1,827.684 ms median | ClosedBit had lower median elapsed time |
| Resource usage | 23.023 MB peak working set | 10.348 MB peak working set | Bullet 2.225x leaner |
| Paging | 14,062 page faults | 2,972 page faults | Bullet 4.731x fewer faults |
| Artifact weight | 1.3 KB .cba package, shared runtime separate | 712.5 KB benchmark executable | ClosedBit artifact is smaller; runtime model differs |
| Solver note | ClosedBit deterministic CB-Physics.rigid_stack | Bullet sequential impulse rigid-body world | Same input recipe, different solver internals |
System
These rows come from the current release benchmark snapshot. Internal benchmark scripts and local workstation paths are intentionally not published on the customer site.
| CPU | 12th Gen Intel(R) Core(TM) i7-12700F, 12 cores / 20 logical processors |
|---|---|
| RAM | 31.83 GiB |
| GPU | NVIDIA GeForce RTX 4060, 8.00 GiB VRAM, driver 32.0.15.8142 |
| OS | Microsoft Windows 11 Home 10.0.26200 build 26200, 64-bit |
| Benchmark method | Same input scene, same sample count, same machine, release-mode harness, median timing reported. |
What the numbers mean
ClosedBit uses `.cs` where Windows tooling is strongest: Studio UI, packaging, DPAPI sessions, licensing, and build orchestration. The hot paths are kept in native DLLs and `.asm` routines where possible: 256-bit math, package encoding, and runtime kernels should not pay editor or framework costs every frame. The page-fault and memory rows show where this is still unfinished.
Studio stays in C# for Windows integration, while hot code paths such as `closedbit256.asm`, `cb_engine.asm`, and `cbp_lang.asm` handle arithmetic and package work closer to the metal.
`.cba` and `.cbl` outputs carry validated instructions and library metadata, so runtime launch does not spend the frame budget parsing editable project files.
Render, physics, and AI helpers are designed around batch commands. The runtime can process one compact command stream instead of thousands of tiny script decisions.
FPS, AI, graphics, and physics profiles select targeted runtime paths. Speed rows are separated from memory and paging rows so tradeoffs stay visible.