Harry Cheung 是一名前谷歌工程师。从发表第一篇关于移动应用性能测试的博文开始,他就一直希望扩大测试范围。近日,他将测试逻辑移植到了Objective-C 和JavaScript 上,前者可以作为iOS 上的性能测试基准,后者可以测试webview、移动浏览器和Titanium。
同以前一样,他将每个测试运行10 次,然后取平均值。不过,为了增加运算量,他对测试逻辑进行了微调(测试代码在 GitHub 上)。以下是此次测试的结果:
从中可以看出:
- Swift 性能最佳;
- Xamarin 次之,但比作为基准的 Objective-C 还要快 30% 多;
- J2ObjC 的性能表现也不错,它将 Java 代码转译成 Objective-C 只有 10% 的性能损失;
- 增加 Swift 之后,Objective-C 和 J2ObjC 混合应用的性能差别甚微,可见 Swift 桥开销显著;
- RoboVM 已正式发布,性能出众,可以与 Objective-C 媲美;
- Safari 与 WKWebView 性能相近,均优于 Chrome 和 Titanium;
- JavaScript 应用性能全部都明显优于 RubyMotion;
- Android WebView 应用与 Chrome on Android 应用性能差别较大,它们似乎使用了不同的 JavaScript 引擎。
感兴趣的读者可以下载查看测试结果电子表格。
感谢郭蕾对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论