(I knew nothing about this until 30 minutes ago, but I just did some quick research)
A Quick zero-to-20mph Guide
============================
How it works
------------
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.
2. Has no effect on application CPU performance
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
Results
---------
Mattermost app
1. Time from load until first user interaction: 4.3s -> 2.3s
Comments
(I knew nothing about this until 30 minutes ago, but I just did some quick research)
A Quick zero-to-20mph Guide
============================
How it works
------------
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.
2. Has no effect on application CPU performance
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
Results
---------
Mattermost app
1. Time from load until first user interaction: 4.3s -> 2.3s
2. APK size: 41mb -> 22mb
3. Memory: 185Mb -> 136mb
From a similar high elevation perch: https://softwareengineering.stackexchange.com/questions/2746...
Tl;dr AoT can be more resource intensive as a one time cost while JIT uses and limits runtime resources