14 ms·
> LLVM which is superior to JVM Link? Superior in what way? Is there any LLVM based JVM implementation that runs faster than the current JVM android is using a
by tanilama 9y ago
> LLVM which is superior to JVM
Link? Superior in what way? Is there any LLVM based JVM implementation that runs faster than the current JVM android is using and no compatibility issue?
When I see those claims without any actual code, I would stay suspicious and call it farce, until it proves itself.
- theoh 9y agoYou must mean "false" not "farce". I can't see how such claims could be considered farcical.
- DannyBee 9y ago"Link? Superior in what way? Is there any LLVM based JVM implementation that runs faster than the current JVM android is using and no compatibility issue? " Yes. Azul uses LLVM as its last tier JIT compiler now :) I don't think anyone is going to argue they don't have the fastest JVM around. See http://www.infoworld.com/article/3193078/java/azul-introduces-llvm-compiler-to-java-runtime.html http://www.infoworld.com/article/3193078/java/azul-introduce... The performance numbers they give are: " Falcon bests Oracle's HotSpot Java platform by anywhere from 5 to 250 percent in production performance, depending on the application, according to Azul. "
- tanilama 9y agoAnd you forget to quote: > Based on the LLVM compiler platform, designed for server workloads, and optimized for recent Intel and AMD architectures Server and mobile application have vastly different assumption of workload and metrics to take a look at. However, this announcement definitely better than OP's vague performance claim, which I agree. But as I said, there is no proof at this point, that LLVM based implementation on Android improve the the performance. Quite on the contrary, Google include LLVM in 5.0 then remove it later: https://www.quora.com/What-are-the-technical-details-of-the-Android-ART-runtime-introduced-in-Android-4-4/answers/10044855?srid=XwOv https://www.quora.com/What-are-the-technical-details-of-the-... And it was never used as the primary option anyway. So there is definitely not enough confidence to claim the superiority, until somehow make it work in the first place.
- davidf18 9y agoIt can end up with direct code generation. No JIT, no interpreter, no loading a "JVM." C++ (Clang) generates LLVM, not JVM. So does Rust. Two languages where performance is a requirement. As other have pointed out, any optimizations that can be preformed by the cumbersome JVM can be preformed in LLVM. But in addition, instead of using registers, the JVM uses variables on the stack frame. Why use slower hardware than the build in registers? Then there is that automatic garbage collection which can interrupt a processor randomly. Using a JVM or CLR by MS (who with C# was making their own Java) seems cumbersome compared with direct code generation with the LLVM as intermediate code. Apple derives $150 billion per year as an iOS phone headset company and it chose to use LLVM years ago when the processors were not nearly as powerful as today. When an Android headset even with good hardware would require 1 GB RAM, iPhones could run with better performance on 500 MB.
- kitd 9y ago> any optimizations that can be preformed by the cumbersome JVM can be preformed in LLVM That cumbersome JVM can optimise based on runtime knowledge of the characteristics of the running code. In many cases, that kind of optimisation is more effective than the static compile-time sort.
- davidf18 9y agoI am curious as to what exactly can be optimized by the JVM runtime vs. LLVM. Do you mean targeting specific machine architectures? Because LLVM can generate images for different processors (e.g., different version of Intel architectures).