我正在评估ARM的开源和闭源JVM.特别是,闭源JVM可以使用Jazelle(用于较新ARM的Java加速).
你对这项技术有什么经验吗?
(顺便说一句,你用哪个操作系统?)
我曾在一家大型无线手机制造商工作.我们的团队正在将J2ME移植到基于ARM的手机上.我们有两个人正在使用Jazelle; 没有操作系统,仅适用于原始ARM9芯片.可悲的是,它留在研究中,因为JIT获得了我们所需的性能而无需支付Jazelle的许可费.
如果您接受这样的经验法则:在没有JIT的情况下运行Hotspot JVM的速度是编译C的1/10.然后,JIT返回您丢失的50%,Jazelle返回您丢失的60%.这些是非常粗略的估计.这一切都取决于正在运行的代码类型.Jazelle对我们的测试用例的性能稍好一些,因为它处理的情况多于JIT.JIT在少数几个案例中被编译为C-fast.
之前的海报似乎误解了Jazelle.Jazelle为Java字节码导致类似陷阱的操作.用户必须提供代码片段来处理每个字节码.如果没有这样的代码片段和查找表,您将获得未实现的异常.