Making Hermes the Default JavaScript Engine
Article Summary
Meta's Hermes team cut app startup time in half and reduced GC pauses by 34x. Here's how they're making it the default engine for React Native.
Meta's React Native team details the two-year journey to make Hermes the default JavaScript engine across all React Native platforms. The article covers major technical improvements including a new garbage collector, memory optimizations, and community-driven feature additions.
Key Takeaways
- New Hades GC reduces pause time to 48ms at p99.9 (34x faster than GenGC)
- 32-bit encoding slashed JavaScript heap size by 30%, total memory down 45%
- Hermes on iOS delivers 40% faster startup and 18% less memory vs JSC
- Babel transform optimizations achieved 18-25% TTI improvements on Facebook surfaces
- Community-requested Proxy and Intl APIs added with minimal size impact (57-62K)
Critical Insight
Hermes delivers dramatic performance wins through ahead-of-time compilation, concurrent garbage collection, and aggressive memory optimization while expanding from Android-only to iOS, Windows, macOS, and VR platforms.