首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MonoTouch性能与Objective-C/Java

MonoTouch性能与Objective-C/Java
EN

Stack Overflow用户
提问于 2011-04-18 11:53:08
回答 1查看 7.4K关注 0票数 9

我正在开发一个多平台游戏引擎,正在使用MonoTouch来覆盖安卓和iPhone。我真的对使用MonoTouch进行iOS和安卓开发的性能方面很感兴趣,有谁知道MonoTouch在使用Java语言或Objective-C进行相关平台的开发时会有什么性能影响?我是从游戏开发者的角度来问这个问题的,所以像绘制代码之类的事情真的让我很担心。据我所见,mono应用程序运行得很好,但是假设你做了一个像愤怒的小鸟(艺术作品,声音,物理处理)级别的游戏,那么在mono上运行得足够好,不会让你比使用平台的本地语言处于明显的劣势吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-18 23:23:01

首先,澄清一下:在Android上,代码不是由Java运行时执行的,而是由Dalvik执行的(由Google从头开始编写)。因此,Java VM性能与这个问题无关。

记住这一点: Android上的大多数程序不执行本机代码,而是在Dalvik VM (运行转换后的Java字节码)上运行。Mono JIT之前已经与之进行了基准测试,并且一直被发现更快(例如查看http://www.koushikdutta.com/2009/01/dalvik-vs-mono.html )。

在iOS上,MonoTouch必须先将代码预编译成原生应用程序,然后才能将其安装到苹果设备上(因为许可证限制是由操作系统执行的)。也就是说,Objective C编译器和Mono的提前编译都使用相同的LLVM后端来生成和优化二进制代码,因此您将获得的结果应该几乎相同(Mono需要一些内存开销)。

请记住Donald Knuth的一句话:“过早优化是万恶之源。”编写代码时要考虑到性能,但请记住,可维护性更重要。优化应该只在必要的时候进行(因为通常编译器会比你做得更好)。

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5698352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档