|
|
|
|
|
by Zigurd
4621 days ago
|
|
Everything being native isn't always a better way. Android's architecture keeps code small, makes sure nobody eats the global heap, shares common bytecode (really, anything) pages across processes, and provides memory-conserving modularity tools within each VM instance's heap. It's a pretty elegant system and the reason there hasn't been a lot of new work on the JIT may be that the JIT is as good as it can be without eating more battery. |
|
Global heap can be controlled by process in many OS, nothing special about VMs.
Sharing of code pages between processes has been done in mainstream OS since a few decades.
Memory-conserving modularity tools, whatever that might be, aren't VM specific.
The only issue you are right about, is that bytecode is much more compact than native code.
> ... the reason there hasn't been a lot of new work on the JIT may be that the JIT is as good as it can be without eating more battery.
The current JIT is good enough for developers writing CRUD applications, HTML wrappers or the "fart app" of the month.
Those of us that care about performance use the NDK anyway.