RepoJournal
Meta

Meta

React, React Native, and Jest - the open source under what Meta ships

Keep up with Meta in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

One email a day. Unsubscribe in one click.

Pick a date

Topics: JavaScript AI / ML Full archive →

The Wire · Showcase

React Compiler slashes codegen time by 70%

By RepoJournal · Filed · About Meta

The React Compiler's Rust rewrite just got dramatically faster, with codegen times dropping by up to 70% on heavy payloads.

Two optimizations landed in the React Compiler that target the Rust backend's biggest bottleneck: deep AST clones. The first avoids a deep clone of the AST during codegen, cutting peak memory allocation by 5-15% and codegen time by 30-70% depending on payload [1]. The second shrinks AbstractValue from 72 bytes plus heap allocations down to 18 bytes by replacing IndexSet with an inline array, eliminating heap allocation and memory thrash entirely [2]. And the team didn't stop there: a CI change now shards build workers by measured bundle build times, fixing a round-robin scheme that left the slowest worker at 56-62 seconds of rollup time while the mean sat at 40-42 seconds [3]. Meanwhile, the Rust compiler now bails out on nested TypeScript `this` parameters instead of silently producing a partial function, closing a footgun that could generate broken HIR [4]. Over in React Native, iOS TurboModule codegen now accepts Double, Float, and Int32 as EventEmitter payloads, aligning with Android and C++ behavior [5]. A separate fix ensures asset catalog scale-to-file pairing doesn't ship the wrong images when assets have non-standard scales like 1.5x [6]. The React Native team also dropped an unused field from SPM module config and removed a legacy glob prefix, both internal cleanups [7][8].

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] React Compiler: avoid deep ast clone and quadratic-time codegen ↗ facebook/react
  2. [2] React Compiler: Make AbstractValue Copy to reduce heap allocation ↗ facebook/react
  3. [3] [ci] Shard build workers by measured bundle build times ↗ facebook/react
  4. [4] [rust-compiler] Bail out on nested TypeScript `this` parameters (#37232) facebook/react
  5. [5] Align TurboModule EventEmitter payload types across platforms (#58063) facebook/react-native
  6. [6] Fix asset catalog scale-to-file pairing for assets with non-standard scales (#57825) facebook/react-native
  7. [7] Drop the inert publicHeadersPath from spm.modules (#58059) facebook/react-native
  8. [8] Remove glob: prefix in oss projects (#58100) facebook/react-native

Quick answers

What shipped in Meta on August 25, 2026?
The React Compiler's Rust rewrite just got dramatically faster, with codegen times dropping by up to 70% on heavy payloads. In total, 29 commits, 7 pull requests, and 1 releases landed.
Who contributed to Meta on August 25, 2026?
7 developers shipped this update, including andrewimm, eps1lon, Will Binns-Smith, Sam Zhou, Christoph Purrer, Janic Duplessis, and qdr108.
What were the notable Meta updates?
React Compiler: avoid deep ast clone and quadratic-time codegen, React Compiler: Make AbstractValue Copy to reduce heap allocation, and [ci] Shard build workers by measured bundle build times.

More from Meta

Daily updates, in your inbox

Follow Meta

Keep up with Meta in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

One email a day. Unsubscribe in one click. Read a past issue →

Elsewhere on the wire

Want every project, not just this one?