我正在评估用于ARM的开源JVM和开源JVM之间。特别是,封闭源JVM可以利用Jazelle(较新的ARM的java加速)。
您对这项技术有什么经验?
(顺便说一句,您使用哪个操作系统?)
最佳答案
我曾在一家大型无线手机制造商工作。我们的团队正在将J2ME移植到基于ARM的手机上。我们有2个人在使用Jazelle。没有操作系统,仅在原始ARM9芯片上。可悲的是,它一直停留在研究中,因为JIT获得了我们所需的性能,而不必支付Jazelle的许可费。
如果您接受的经验法则是,运行不带JIT的Hotspot JVM的运行速度是已编译C的1/10。那么,JIT将返回丢失内容的50%,而Jazelle将返回丢失内容的60%。这些是非常粗略的估计。这完全取决于正在运行的代码类型。 Jazelle在我们的测试用例中的性能稍好一些,因为它比JIT处理更多的情况。在少数情况下,JIT的编译速度为C级。
以前的海报似乎误解了贾泽尔。 Jazelle对Java字节码产生类似陷阱的 Action 。用户必须提供代码片段来处理每个字节码。没有这样的代码片段和查找表,您将得到未实现的异常。