Ono*_*cci 30 android jvm clojure dynamic
我相信我在某些时候读过,由于在Dalvik VM上运行Android,JVM(Clojure,Jython,JRuby等)的动态语言很难在Dalvik上获得良好的性能(因此在Android上).如果我没记错的话,理由是在引擎盖下,为了实现动态类型,对java字节码进行了相当多的调整,并且字节码 - > dalvik转换不会轻易地解决这个问题.
如果我想为Android开发,我应该避免使用动态JVM语言吗?
编辑:我想我应该提供更多的上下文.我正在考虑使用Clojure为Android开发应用程序.我考虑使用Clojure有几个原因:
我想学习FP
我真的不在乎学习Java
Clojure似乎有一些非常有趣的语言概念(例如STM).
但是,当我尝试在Clojure中为Android编写应用程序时,我发现存在一个令人无法接受的性能问题.但是我发现一篇博文说,动态类型语言(例如Clojure)会因为获得动态类型所需的字节码操作而出现问题.所以我有点寻找独立的确认,这是真的,或者不是.我应该知道的最好是假设在这个特定的问题中,所有动态类型的JVM语言都可以被视为相同.我想我确实提出了一个相当广泛的问题所以我想我不应该对人们不太了解我的要求感到惊讶.
Mat*_*t G 17
Dan Bornstein 在Google I/O上发表了关于Dalvik的演讲.一般来说,了解系统是值得的,包括您关心的约束.在Q&A期间,编译成Java字节码的非Java语言的具体问题出现了.
Remco van't Veer有一个github项目,他修补Clojure在Android上工作. Tim Riddell撰写了一篇关于如何使用它的教程.
正如@sean所提到的,有时候问题不仅仅是表现.当被问及Jython时,丹·博恩斯坦(Dan Bornstein)在约54:00的视频中对此进行了讨论. 目前不支持动态语言,它们即时生成字节码(因为字节码转换在运行时不可用).
归档时间: |
|
查看次数: |
6913 次 |
最近记录: |