How NitroPush measures and verifies React Native delta updates.

Tiny synthetic fixtures can prove patch correctness, but they cannot honestly predict production savings. This page separates verified behavior from the production benchmarks we still need to publish.

Last reviewed August 29, 2026

Verified today: deterministic patch reconstruction

The repository contains a checked-in old bundle, new bundle, binary patch, wrong-base bundle, and SHA-256 manifest. Native iOS and Android golden tests apply the patch, verify that the reconstructed bytes equal the expected new bundle, and reject an incompatible base.

FixtureChecked-in sizePurpose
old.bundle463 bytesKnown compatible base
new.bundle519 bytesExpected reconstructed output
old-to-new.bsdiff276 bytesDeterministic golden patch
wrong-base.bundle441 bytesNegative compatibility test
shasum -a 256 -c packages/react-native/test/delta-fixtures/SHA256SUMS
yarn workspace @nitropush/react-native test:delta:golden

These fixtures verify correctness and cross-platform compatibility. They are intentionally too small to support a credible production bandwidth claim.

How production delivery works

  1. The CLI keeps the full new bundle and may generate a bsdiff patch against the previous compatible release.
  2. A patch is retained only when it is meaningfully smaller than the complete payload.
  3. The device includes the hash of its current bundle during its update check.
  4. NitroPush returns a patch only for an exact compatible base.
  5. The SDK reconstructs the new bundle, verifies SHA-256, then verifies the release signature when signing is enabled.
  6. A full bundle remains available when no compatible patch exists or verification fails.

The production benchmark we will consider publishable

A credible benchmark should use several real React Native applications and publish the source revision, React Native version, Hermes version, platform, minification settings, bundle command, compression state, full-bundle size, patch size, patch-generation time, apply time, device model, and verification time.

Change sets

Copy-only edit, component edit, dependency change, large refactor, and asset change.

Baselines

Embedded native bundle, previous OTA bundle, and devices that skipped intermediate releases.

Report both wins and losses

Show when a patch is smaller, when it is rejected, and when a full bundle is the correct response.

What we do not claim from the synthetic fixture

  • It does not prove a universal percentage reduction.
  • It does not measure CDN compression or real mobile-network transfer.
  • It does not represent every Hermes bytecode layout or application architecture.
  • It does not eliminate the need for a complete verified fallback bundle.

This disclosure is intentional. Teams should evaluate delta performance using their own production bundle history before forecasting bandwidth savings.