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引擎。
感兴趣的读者可以下载查看测试结果电子表格。
感谢郭蕾对本文的审校。