Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm pretty sure those constrained devices are running bytecode interpreters that aren't nearly competitive with native code in terms of speed, with UIs that wouldn't cut it on even a low-end smartphone these days.


Then you should educate yourself, as they are running JIT and AOT code.

I can provide links for product documentation and real products if you wish.


You are right.

The code for these embedded devices is JITted and I know because i worked on them. It also included some AOT but not much. In the past one of our guys benchmarked against an older version of Dalvik and had us at about 5x with those VM's.

To be fair they are not hotspot and it does have startup time issues because unlike the embedded version of our JIT's it doesn't feature MVM. However, a lot of this is configurable and easily fixable. Hotspot is remarkably tuneable and if MVM is added (which is possible) could probably beat ART in startup time as well...

ART is pretty fast by now though and pretty well understood. I don't think Google would switch to hotspot and I don't think it will need that for compliance either. They might just reuse some libraries that can be common and that's it.


Every time an Android device installs its monthly security update, it spends an inordinate amount of time, with the screen on, "optimizing" every single app.


pjmlp: original poster above referred to Hotspot, not arbitrary JVMs. Clearly Android devices can run VMs with both JIT and AOT (they do, after all), what OP questioned was whether Hotspot in particular (not some arbitrary VM) is a good VM on a mobile device. Given Hotspot's somewhat underwhelming startup speed even on desktop class computers, I think that's a very reasonable technical question to ask, and not FUD in any way.


Hotspot requires as little as 128 KB RAM and 1 MB ROM

http://www.oracle.com/technetwork/java/embedded/javame/embed...

If one adds the GUI client APIs, then the whole SDK grows up to 5MB ROM.

http://www.oracle.com/technetwork/java/embedded/javame/embed...

Some commercial products using the above runtimes are the Gemalto's M2M modules or evaluation boards like the ARM Keil F200.

But I expect Google fanclub to downvote me.


The document you link to is not about Hotspot, it's about Oracle's Java ME VM, which is a different product from all I can tell. It doesn't mention the term "Hotspot" at all.


Hotspot is Oracle's Java VM JIT compiler, not a separate product.

They don't produce different JITs from scratch for each VM implementation.


Thanks for links and info.

I think comparability between Java (SE or ME) and Android would be a great win fit both communities :-)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: