Skip to content
Docs/Get started

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:

shell
npm ci --prefix examples/node-no-fill --ignore-scripts --no-audit --no-fund
npm run test:docs
npm run benchmark:sdk

The 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

Milliseconds per call averaged within each batch; batch percentiles, not individual-request tail latency.
PathBatch medianBatch p95
SDK no-fill with assertion0.0025880.003063
Injected transport only0.0000880.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.