Skip to content

v1.0.0-alpha.3

Latest

Choose a tag to compare

@ammarahm-ed ammarahm-ed released this 10 Sep 14:30

Alpha 3 is a major engine update focused on faster startup and better performance across real React Native workloads.

Highlights

  • QuickJS-NG has been updated to v0.16.2.
  • Faster React Native startup: unused functions in precompiled Metro bundles are now loaded on demand. On Android, the representative RN workload improved median bundle loading from 328 ms to 301 ms*.
  • Up to 8.8× faster isolated bytecode loading: a representative 3.3 MB Metro bundle improved from 5.9 ms to 0.67 ms in the host load-only benchmark.
  • RegExp performance more than doubled: the complete benchmark score increased from approximately 825 to over 1,800—about 2.2× faster overall. Matching, searching, splitting, captures, result creation, and common literal, prefix, character-class, and whitespace patterns all benefit.
  • Faster JSON: parsing and serialization now have specialized paths for integer arrays, ASCII strings and keys, dense arrays, ordinary objects, punctuation, and primitive values.
  • More than 4× faster lazy JSON parsing: the repeated-object benchmark improved from approximately 199 μs to 43 μs. Applications can enable lazy parsing for JSON documents of at least 4 KiB with react-native-quickjs.lazyJson.
  • Faster React-style object creation: reusable object shapes and optimized property initialization deliver consistent double-digit gains across representative object-literal workloads.
  • Faster property access: improved inline caches measured React fiber allocation at 1.92× faster, tree rendering at 1.29× faster, and constructor-heavy property stores at 1.36× faster.
  • Faster string search: representative String.prototype.indexOf and includes workloads improved by approximately 8–9%.
  • Faster bytecode verification: CRC-32C checksums now use hardware acceleration on supported ARM64 and x86-64 devices.
  • Safer precompiled bytecode: validation and failure handling have been strengthened for malformed bundles, function boundaries, nested functions, closures, async and generator functions, RegExp metadata, debugging information, and repeated failed loads.