Facebook says that for many apps, simply enabling Hermes will result in improved start-up time, decreased memory usage and smaller app size. At this time Hermes is an opt-in React Native feature.
Hermes makes use of bytecode precompilation, so that the code is processed using ahead-of-time (AOT) compilation when the app is built to maximize bytecode optimization.
The announcement of Hermes was made at this year’s Chain React 2019 conference. In a demo, Facebook’s Marc Horowitz showed that a React Native app with Hermes was fully loaded within half the time the same app without Hermes loaded, or about two seconds faster:
In the demo, Horowitz points out that Hermes reduces the size of the Android APK download size to around half that of an average React Native app, and also reduces the amount of memory used by a quarter. Horowitz says this is important on lower-end phones with limited memory:
“As developers we tend to carry the latest flagship devices. Most users around the world don’t”Horowitz
Facebook says Hermes is intended only for React Native, with no plans to produce a version for Node.js, for example.