TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Hermes – A small JavaScript engine optimized for running React Native on Android

209 pointsby smoseralmost 6 years ago

10 comments

munificentalmost 6 years ago
I understand and accept the reality of path dependence.<p>At the same time, when I see projects like his, V8, HHVM, etc. I can&#x27;t help but wonder where we could be if all of that engineering effort had gone into more carefully-designed languages.
评论 #20413304 未加载
评论 #20414895 未加载
评论 #20414463 未加载
评论 #20413146 未加载
评论 #20413118 未加载
评论 #20415655 未加载
评论 #20416395 未加载
js2almost 6 years ago
There&#x27;s a gazillion engineering hours between JavaScriptCore and V8. It seems crazy to write a JS engine from scratch as opposed to forking JSC or V8.<p>(For the unawares, RN necessarily uses the system JSC on iOS per Apple requirements, but for Android RN bundles JSC into the APK.)<p>I don&#x27;t understand how Hermes will differ from JSC&#x2F;V8 in terms of functionality and performance. What functionality can be left out of Hermes as compared to JSC&#x2F;V8 in order to shrink its sie?<p>What sorts of performance improvements will Hermes have that wouldn&#x27;t similarly benefit JSC&#x2F;V8, and why wouldn&#x27;t Apple&#x2F;Google include those in their own engines?
评论 #20417490 未加载
评论 #20416865 未加载
评论 #20416677 未加载
评论 #20416606 未加载
评论 #20416336 未加载
gtbonoalmost 6 years ago
One of the game-breaking things about the older JavaScriptCore engine on Android was that when I debug on Chrome, it has a totally different engine (V8) so, there were code that ran correctly when debugging but crashed on-device.<p>Will Hermes be able to solve this debugging issue?
评论 #20414387 未加载
评论 #20414692 未加载
评论 #20416084 未加载
hajilealmost 6 years ago
I&#x27;m moderately curious about why the language of choice was C++ rather than Rust. It seems like all the Ocaml people at Facebook would prefer a more ML-like language.
moneil971almost 6 years ago
Here is the full post on Facebook’s Engineering blog: <a href="https:&#x2F;&#x2F;code.fb.com&#x2F;android&#x2F;hermes&#x2F;" rel="nofollow">https:&#x2F;&#x2F;code.fb.com&#x2F;android&#x2F;hermes&#x2F;</a>
KuhlMenschalmost 6 years ago
(I knew nothing about this until 30 minutes ago, but I just did some quick research)<p><i>A Quick zero-to-20mph Guide</i><p>============================<p>How it works<p>------------<p>1. Results in less to load into memory WHY? It has no Just-in-time (JIT) compilation, instead compiles to bytecode ahead-of-time (AOC). By comparison most (all?) modern browsers have a tricky blend of both.<p>2. Has no effect on application CPU performance<p>3. Chrome debugger will connect DIRECTLY to the Hermes engine within the app (simulator or device). By comparison, Chrome debugger uses its own V8 engine to execute code, instead of the JsCoreEngine (?) that React-native uses by default<p>Results<p>---------<p>Mattermost app<p>1. Time from load until first user interaction: 4.3s -&gt; 2.3s<p>2. APK size: 41mb -&gt; 22mb<p>3. Memory: 185Mb -&gt; 136mb
评论 #20420584 未加载
zenlibsalmost 6 years ago
Worth noting that JSC on iOS for use in app-backend&#x2F;business-logic code runs in interpreted mode [1].<p>Are Android versions of RN apps faster because Android&#x27;s native V8 allows JIT, and Hermes also employs JIT?<p>[1]: <a href="https:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;45422462&#x2F;what-does-jit-is-disabled-mean-in-apples-javascriptcore-jsc-documentation" rel="nofollow">https:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;45422462&#x2F;what-does-jit-i...</a>
评论 #20418897 未加载
Dibesalmost 6 years ago
They harp a lot on how fast it starts up - which sounds great - but I would like to have some solid numbers on what that startup time actually is on actual devices! I can&#x27;t seem to find anything perusing around the GH page or the site
评论 #20413046 未加载
评论 #20412939 未加载
Shwantonalmost 6 years ago
Will OTA updates with tools like Codepush still be possible with hermes? I&#x27;m assuming these tools push the minified js instead of compiled bytecode.
c-smilealmost 6 years ago
Not clear what version of JS spec it supports.<p>And what are these &quot;optimizations for running React Native on Android&quot;. Just reducing startup&#x2F;boot time or what?
评论 #20415972 未加载