一尘不染

Android是否cast割了ARM的Jazelle技术?

java

我所看到的理由是我们说“重击”
Android中的Java字节码是为了提高性能。(我怀疑还有另一个原因。)但是,通过更改字节码,它们是否没有使硬件加速技术(例如Jazelle
moot)成为现实,从而实际上降低了可用于Mobile Java平台的性能?

知道目标平台是基于ARM的移动平台,这对我来说似乎很不直观。虽然它可以在其他CPU架构上为您提供更好的性能,但它似乎在面对ARM和Jazelle时会吐口水。

它对Java性能有什么样的定量影响?

它实际上会提高性能吗?

对其他平台有什么影响?(即x86,mips,yadda,yadda,yadda …)


阅读 240

收藏
2020-12-03

共1个答案

一尘不染

是的,达尔维克使贾泽勒无用。唯一的问题是Jazelle首先有用还是90%的营销炒作?一个好的JIT或AOT(提前)编译器往往会比尝试使用专门的指令提供更好的性能。Dalvik的基于寄存器的方法可能比传统的Java字节码解释器更快,但是如果解释器和JIT的区别很小。希望下一个Android版本具有JIT。

使用一流的垃圾收集器和优化器编写好的虚拟机大约需要5-10年。Sun(和Microsoft)已经度过了那些年。谷歌没有。希望他们会继续对此进行投资,以使一天的Android
Java代码不会比应有的速度慢90%。

2020-12-03