Nihilai Collective Logo

PAPERS

Whitepapers and Technical Write-ups

The benchmark is the proof. These papers document the methods and measurements behind the libraries published here — what was tried, what worked, what didn't, and what the numbers actually say.

Each paper is written as an engineering write-up rather than an academic submission: problem, approach, measurements with caveats, and an honest read of when the technique helps versus when it doesn't.

Two Stages, On Demand
July 2026 · Jsonifier
The Stage-1 + Stage-2 Architecture in Jsonifier
Two-stage SIMD parsing is a specialized tool, not a mandatory front door. Full-document parses into reflected types skip the structural tape entirely and take a single fused pass; the tape is reserved for partial reading, prettifying, and minifying — where it actually pays for itself. Covers the per-(ISA × compiler)-tuned step geometry, the folded stepped drain, and a distributed UTF-8 validation scheme that costs zero additional memory bandwidth. Direct comparisons to simdjson throughout, including the honest finding that both libraries converge on the same tzcnt-burst extraction primitive.
Topics: SIMD · JSON parsing · compile-time reflection · UTF-8 validation · schema-directed parsing
Batched Drain, Fused Scan
July 2026 · Jsonifier
The Architecture of Jsonifier's Stage 1
Six architectural divergences from simdjson's stage-1 structural indexing: a batched drain that decouples mask production from tape emission, per-(ISA × compiler)-tuned step geometry, UTF-8 validation fused into string unescaping and carried across SIMD width transitions, and a compile-time minified specialization. Includes a case study on relocating control-character validation from stage 1 to stage 2, and full cross-platform results — 134 wins, 7 ties, 19 losses against simdjson across 160 tests, with perfect 32-0-0 sweeps on two of five platform/compiler targets.
Topics: SIMD · JSON parsing · UTF-8 validation · AVX-512 · compiler-specific tuning
OACC
January 2026 · v1.0 (Revised)
Order-Agnostic Constexpr Configuration with Compile-Time Uniqueness Checking
A C++20 configuration pattern where settings are passed in any order, duplicates are a build error rather than a silent overwrite, and the entire machinery erases completely under consteval — field values appear as immediates in the output. Includes the one subtlety that makes or breaks the guarantee: why the uniqueness concept must constrain the whole argument pack, not each argument individually.
Topics: C++20 · concepts · consteval · type routing · API design
CAFBERIHT
December 2025 · v1.0 (Revised)
Constexpr Aggregated and Filtered Bases for Efficient Runtime Iteration of Heterogeneous Types
A filtered, tag-dispatched aggregate over heterogeneous types with per-component boilerplate reduced to a single inheritance line. Dispatch overhead is zero — verified by assembly diff against a hand-written baseline at -O1 and above. Includes compile-time scaling measurements across GCC, Clang, and MSVC, and an honest account of where the pattern degrades and when a plain std::tuple is the better tool.
Topics: C++20/23 · CRTP · heterogeneous collections · compile-time dispatch · template metaprogramming
Compile-Time Division Elimination
June 2026 · v1.0
Granlund–Montgomery for Zero-Overhead Tensor Indexing in CUDA Kernels
Removing hardware IDIV from indexing-bound kernels by hoisting divisors into the type system. Measured 12–30× operation-level speedup on RTX 5070 Ti across 16 divisors at 32-bit and 64-bit widths. Includes the honest finding that all three magic-number delivery mechanisms are statistically tied — the win is Granlund–Montgomery itself, not the compile-time encoding.
Topics: CUDA · template metaprogramming · integer division · Granlund–Montgomery

About These Papers

The papers here are not peer-reviewed in the academic sense. They are engineering documents: the techniques they describe are in production use in the libraries listed on the projects page, the benchmarks are reproducible from the harnesses in the organization's repositories, and the numbers are taken on hardware that anyone can buy.

Where a technique has limits — where it doesn't apply, where the compiler already does the equivalent, or where the win is smaller than it looks in isolation — those limits are stated in the paper rather than left for the reader to discover. A speedup number without its caveats is not a result; it's a marketing claim.

If you spot something that looks wrong, the channels to flag it are the GitHub issues on the relevant repository and the Discord.

Philosophy
Cathedral Architecture — the methodology these papers apply.
Projects
The libraries the methods are tested against.