Node SDK no-fill experiment
This experiment measures local SDK response processing. It does not measure advertising delivery or network latency.
Measured using @theaimart/adx@1.0.0. This is one local environment, with an injected transport returning a fixed no-fill response. No production auction, impression or payout was created.
What does this answer?
It checks that the pinned public package can import, accept a custom transport and normalize a no-fill response. The timing samples describe this small in-process path with assertions enabled. They cannot predict host rendering, server response time or end-user latency.
Reproduce the experiment
The frontend repository contains examples/node-no-fill with a dependency lockfile and scripts/benchmark-node-sdk.mjs. Run these from its root:
npm ci --prefix examples/node-no-fill --ignore-scripts --no-audit --no-fund
npm run test:docs
npm run benchmark:sdkThe benchmark guards against use of global fetch, validates the no-fill result and checks the injected request count. Installation may access the package registry; measured request loops use only the injected transport.
Method and environment
- Runtime
- v26.8.2, linux, x64
- CPU
- 12th Gen Intel(R) Core(TM) i7-12700H
- Warmup
- 1000 SDK calls
- Samples
- 25 batches × 500 calls per path
- Ordering
- Transport-only followed by SDK per batch; one process; no network; assertions included
Observed results
| Path | Batch median | Batch p95 |
|---|---|---|
| SDK no-fill with assertion | 0.002588 | 0.003063 |
| Injected transport only | 0.000088 | 0.000152 |
The transport-only path does less work; the difference is not a controlled estimate of SDK overhead. Fixed ordering, JIT, scheduling, timer resolution and assertion cost limit comparison. No confidence interval or cross-device result is asserted.
Raw evidence and limitations
Download all raw batch samples and provenance as JSON. The snapshot is versioned with this page; future runs produce separate evidence and require review before replacing it.
- In-process no-fill processing only; not HTTP latency, an auction, rendering, billing, throughput or end-user CWV.
- Batch-averaged percentiles are not per-request tail latency.
- Warmup, JIT, scheduling, assertions and fixed ordering affect this single-environment result.
- Package installation and request correctness do not prove device rendering or production eligibility.
Package integrity: sha512-Yaz5xGBgj1C/mrNfAtVW8DZgefht8s/oJWVUqzkI08DJp0AjugBdkCtsgbob5Cb+irFb9j0K2ns3xVTiveoOew==. Benchmark source SHA-256: fa71364f4492e7f903c2b82ba52b5aef86540b2e75793e3aa2f7058e440b8eaf.
For integration, start with the safe quickstart and Node reference. Review runtime limitations before selecting a renderer. This result makes no comparative revenue, fill-rate or production-readiness claim.