Performance of IcedTea 6 vs Sun's HotSpot 6
Asked Answered
P

1

9

How does IcedTea 6's performance stand up against Sun's own HotSpot on linux systems? I tried searching Google but Phoronix's test is the best I got, which is almost a year old now. Hopefully things have improved since then.

Also, once Sun completely open sources the JVM, would it be possible to implement it for Linux platforms such that a main module (Quickstarter in the Consumer JRE) starts up with the OS and loads the minimal Java kernel, regardless of any Java apps running. And then progressively load other modules as necessary. Might improve startup times.

Pinkiepinkish answered 6/11, 2009 at 6:20 Comment(1)
I know that idea for a long time, but it does not get any big media loudness. And also linux communities does not seem to be interested in getting java into system core as they already have c/c++, python, perl ... and a lot of other languages that do their job good enough - I see it on my own example there is really limited amount of apps on linux that require java, and for that applications performance is good enough.Tremolite
H
3

so it will be within the answer: http://www.phoronix.com/scan.php?page=article&item=java_vm_performance&num=1 and http://www.phoronix.com/scan.php?page=article&item=os_threeway_2008&num=1

I'd expect SUN's stuff to be faster, but it really depends on all kinds of optimizations, so one version might be faster doing operation X, but in the next version it might not be as fast..


EDIT: regarding kernel preloading: on linux you may use preload or alternatives to speed up app loading, without affecting the overall system performance (loading a Quickstarter equivalent will keep memory occupied at all times). Also, as far as i know, java loads lots of shared libraries, that are shared between apps, so i don't really see the point of building in-kernel support for this thing. I guess its easy to make a simple app that loads some libraries and does nothing after that(quickstarter), but i dont see this doing a big difference when loading apps, and in some cases it might even slow down the system(i'm thinking about ram usage, and memory swapping)

Hy answered 22/11, 2010 at 11:46 Comment(3)
It does not answer the second part of the question ... what about kernel integration ?Tremolite
kernel integration would be rather bild in java binary code execution on kernel level, so instead of running application called java the kernel itself would be supposed to run java classes as it does with a.elf or a.out binariesTremolite
you need to run the java executable because jar files are bytecode compiled as far as i know, and those need another interpreter... it wount help to have that interpreter in the kernel. If you do that you might very well implement qemu (wiki.qemu.org) in-kernel:)Hy

© 2022 - 2024 — McMap. All rights reserved.