Re:Hermes – A small JavaScript engine optimized for running ...
by cztomsik on Friday July 12, 2019 @06:13AM
(#20419536)
It's a pity the Proxy is not supported
mobx is really much nicer approach to state management and usually, apps using mobx are much faster - simply because implementing shouldComponentUpdate properly is hard
Re:Hermes – A small JavaScript engine optimized for running ...
by wbercx on Friday July 12, 2019 @08:04AM
(#20420046)
You could still use MobX 4 though. It's equally well maintained.
Re:Hermes – A small JavaScript engine optimized for running ...
by snek on Thursday July 11, 2019 @04:42PM
(#20415633)
Very nice numbers, although worth mentioning hermes only appears to support es5, so there's way less stuff to load.
Re:Hermes – A small JavaScript engine optimized for running ...
by simscitizen on Thursday July 11, 2019 @08:20PM
(#20417083)
Hermes compiles JS ahead of time to bytecode. The VM takes bytecode in as input, not source code. The ES5 vs. ES6 distinction doesn't matter as much as in other engines where the runtime takes source code as input, and as a result has to pay the more expensive ES6 parsing cost at runtime.
Re:Hermes – A small JavaScript engine optimized for running ...
by acostin on Thursday July 11, 2019 @01:09PM
(#20413288)
Have you also compared it with v8-lite?
https://chromium.googlesource.com/v8/v8/+/84450a2239672109bc...
Re:Hermes – A small JavaScript engine optimized for running ...
by ricardobeat on Thursday July 11, 2019 @04:45PM
(#20415658)
Since it's optimized for reducing memory consumption, you'd expect it to make boot time worse?
Re:Hermes – A small JavaScript engine optimized for running ...
by hashseed on Thursday July 11, 2019 @03:01PM
(#20414415)
Impressive numbers. Did you try to use startup snapshot in V8 to improve TTI? https://v8.dev/blog/custom-startup-snapshots
Re:Hermes – A small JavaScript engine optimized for running ...
by writepub on Thursday July 11, 2019 @01:01PM
(#20413212)
From your numbers:
1. runtime memory reduction: ~25%
2. Boot time reduction: 20%
3. Time to interaction reduction: 20%
For apps with significant boot times, and runtime memory consumption, this is valuable.
Re:Hermes – A small JavaScript engine optimized for running ...
by r1nkgrl on Thursday July 11, 2019 @03:06PM
(#20414486)
For apps with significant boot times, and runtime memory consumption, this is valuable.
This assumes that the reductions are purely proportional to the total and not (at least partially) fixed.
Currently we use V8 with bytecode caching on Android, since it provided better startup performance than the JSC engine that normally ships within RN. So the baseline is likely already faster than stock RN.
V8 runtime Memory Impact: 30MB Hermes runtime memory impact: 21.5MB
V8 time to interaction: 1.4s Hermes time to interaction: 1.1s
We have done similar experiments on a full react-native-windows application, replacing the Chakra JS engine (also already with bytecode so faster than stock RN) with Hermes and had app boot time on a low end device go from 3.8s to 3.1s.