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

I wouldn't call Dalvik a poor JVM, just a JVM optimized for a certain mobile application mix (not so GC intensive) that Scala doesn't really support yet.


Can you name an X for which Dalvik performs competitively with HotSpot? Honest question, because I can't think of one.


To get decent GC performance, you need a large space for copying, which doesn't work so well on mobile, so they probably went with a less efficient in-place collector. Its a trade off really: low memory operation or high performance even when a lot of garbage is generated (and memory isn't so expensive)?

WinRT has built in support for reference counting now (both in run-time and in its libraries); that's a big deal for mobile! Sure, the collector is still present and you can use it in C#, but...the game is changing quickly. Apple, of course, supports reference counting already, Dalvik does not as there is no easy way to bolt that onto Java (though I wouldn't be surprised if Google eventually does what MSFT did with WinRT).

Disclosure: MSFT employee and general programming languages hacker.


This comparison makes no sense, the two JVM's were designed with fundamentally different goals.

At any rate, if you really wanted to compare, you would have to run the benchmarks on the same platform, i.e. Dalvik on the desktop or HotSpot on Android.

Which makes no sense either.


This comparison makes no sense, the two JVM's were designed with fundamentally different goals.

What they are designed for and what they are quite commonly used for are different things. Both are used for running my application code. Serious performance problems on one makes that worse, regardless of whether it is worse-as-designed or not.


Memory use and startup time?

I'm just guessing here, but I believe, if anything, Dalvik is better at those.




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

Search: