Menu

1 / 3

What Hermes is fast at, and what it isn't

DEV Community: reactnative·Remdore·about 4 hours ago
#iPO5bDP4
#devtoreactnative#devto#dev#hermes#bytecode
Reading 0:00
15s threshold

React Native doesn't run your JavaScript on V8 or JavaScriptCore. It runs it on Hermes, an engine Meta built for phones. I'd read the claims, fast startup and low memory, but never seen numbers on code that looks like an app's, next to an engine I know. So I built the exact Hermes that React Native 0.88 ships and ran the same scripts on it and on Node.

The short version: Hermes starts in a fraction of the time and uses a fraction of the memory, it keeps up with V8 on JSON, and it's two to five times slower than V8 at most other things, with regex replacement as the worst case I found.

The setup

Hermes 1.0.0, built from the hermes-v260318099.0.5 tag, which is the hermes-compiler version React Native 0.88.1 depends on. Release build, bytecode version 99.

Node 24.7.0 with V8 13.6, run normally and with --jitless .

An Apple M4 MacBook Air on macOS 26.3.1.

The --jitless runs matter. iOS doesn't let apps generate machine code at runtime, so no JavaScript engine in an iOS app gets a JIT.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.