你会如何改进Dalvik? Android的虚拟机
我目前正在Android平台上撰写论文。 经过一番研究,很明显Dalvik有改进的空间。 我想知道,您认为开发人员在这个目标下的最佳用途是什么?
JIT编译似乎是最大的一个,但是我也听说这样的资源很少使用这个机器。 有没有人有资源或数据支持这一点?
还有其他的选择应该考虑吗? 除了开发强大的本地开发工具包以绕过虚拟机。
对于那些有兴趣的人来说,已经有关于Dalvik虚拟机的讲座已经被记录和上线了。
任何想法欢迎,因为这个问题似乎是主观的,我会澄清,我接受的答案必须有一些理由提出的变化。 任何支持数据的数据,例如Sun JVM引入时的改进,都将是一个巨大的优势。
如果你需要他们,我相信我可以提出其他想法。
JIT。 关于它没有帮助的东西是一堆垃圾。 您可能会更关注哪些代码是您的JIT,但本机代码性能的1/10总是会受到限制
体面的GC。 现代世代垃圾收集器没有大口吃。
更好的代码分析。 有很多情况下,不需要分配/释放,锁定等等。 它允许您编写干净的代码,而不是进行机器更好的优化
理论上大部分高级语言(Java,Javascript,python,...)在大多数情况下应该在本机代码性能的20%以内。 但它要求平台供应商花费100多年+开发人员年。 Sun Java越来越好。 他们也一直在努力工作了10年。
Dalvik的主要问题之一是性能,这听起来很糟糕,但我最想做的事情之一是增加更多的语言。
JVM已经让社区项目在该平台上运行Python和Ruby,甚至为其开发了特殊语言,如Scala,Groovy和Closure。 在Dalvik平台上看到这些(和/或其他)也是很好的。 Sun也一直致力于达芬奇机器,这是JVM的一种动态打字扩展,表明它已经从过去15年来Sun遵循的“一种语言适合所有人”的哲学的重大转变。
链接地址: http://www.djcxy.com/p/91187.html上一篇: How would you improve Dalvik? Android's Virtual Machine