NoM*_*ots 32 java architecture android arm jazelle
我所看到的理由是,我们说Android中的"Bastardizing"Java字节码就是性能.(我怀疑还有另一个原因.)然而,通过更改字节码,他们没有像Jazelle那样制造硬件加速技术,从而降低了移动Java平台的可用性能?
我知道目标平台是基于ARM的移动平台,这似乎与我相反.虽然它可能会让你在其他CPU架构上获得更好的性能,但它似乎在ARM和Jazelle的面前唾弃.
它对Java性能有什么样的定量影响?
它实际上是否提高了性能,如果是这样的话?
对其他平台有什么影响?(即x86,mips,yadda,yadda,yadda ...)
hac*_*ken 18
是Dalvik让Jazelle无用.唯一的问题是Jazelle有用的开头还是90%的营销炒作?一个好的JIT或AOT(提前)编译器往往比尝试使用专门的指令提供更好的性能.Dalvik的基于寄存器的方法可能比传统的java字节码解释器更快,但是如果在解释器和JIT之间的次要差异.希望Android的下一个版本之一有一个JIT.
用最先进的垃圾收集器和优化器编写一个好的虚拟机大约需要5到10年的时间.Sun(和微软)已经度过了那些年.谷歌没有.希望他们会继续投资,以便有一天Android Java代码不会比它应该慢90%.
与大多数虚拟机和真正的Java VM(堆栈计算机)不同,Dalvik VM是基于寄存器的架构.
Dalvik针对低内存要求进行了优化,具有一些与其他标准VM区别开来的特定特性:
- VM被缩小以减少占用空间.
- Dalvik没有及时编译器.
- 已修改常量池以仅使用32位索引来简化解释器.
- 它使用自己的字节码,而不是Java字节码.
此外,Dalvik的设计使设备可以有效地运行VM的多个实例.
编辑:参见维基百科:开放手机联盟.创始成员包括英特尔,摩托罗拉,高通和德州仪器.ARM于一年后于2008年12月加入.所以,我认为当这些公司的目标是创建开源iPhone/Blackberry竞争对手时,这些公司依靠非成员的专有技术是没有意义的.
归档时间: |
|
查看次数: |
8410 次 |
最近记录: |