问题在知乎上问过, http://zhi.hu/dZxU
http://www.cocoachina.com/bbs/read.php?tid=204471看到这个帖子说: "
这个swift应该也是这个思路,底层仍然是cocoa/cocoa touch类库,上面弄出个简练的脚本层调用这些库,由于LLVM编译器极其优秀,所以编译成一体的本地机器码时,反而比从复杂的objective-c调用这些库更快些。
为什么swift竟然会比objective-c执行效率高?我们一般都认为脚本语言是解释执行的,所以运行速度慢,但不都是这样,有编译运行的,比如Perl就是即时编译后运行的。有文章说swift是苹果搞编译器开发的人设计出来的,他一定会让swift编译运行,由于swift去掉了与c语法兼容的包袱,很精炼,所以没有多少语法糖反复包裹主要代码,当然速度快了,尤其在大循环里面调用函数,调用开销很多消耗在函数包装上,对速度的提升会更明显,WWDC 2014视频中显示加密算法对执行速度的提升最多,大家都知道加密算法就是大循环套小循环再在其中调用函数的典型应用。"
与编译型语言相对的不是脚本语言,而是解释(直译)型语言,虽然一般来说脚本语言都是解释型,但是不排除例外。swift的运行效率这么高,估计应该是编译型。