喜马拉雅 PC端文章详情页顶部23-26

Swift并不像苹果说的那么快:第一次基准测试

性能是苹果声称新编程语言Swift将带给OS X和iOS开发人员的好处之一。然而,由独立开发者执行的第一次实验和基准测试显示,Swift在某些场景的性能并不如人意。

 

性能是苹果声称新编程语言Swift将带给OS X和iOS开发人员的好处之一。然而,由独立开发者执行的第一次实验和基准测试显示,Swift在某些场景的性能并不如人意。

开发人员Jukka Suomela在Stack Overflow发表了一篇帖子说明他的发现。当用Swift实现一个算法时,他注意到其性能非常差。深入分析后,Jukka最终发现代码的主要瓶颈来自一个数组排序这样的简单任务。

事实上,Swift对100万个随机整数的数组进行排序,需要耗时6秒,而C++只用了0.06秒,Python为0.6秒。这些测试使用的是-O3编译优化级别,这是Xcode发布构建时常用的级别。Jukka说,如果禁用所有编译优化,即对应于Xcode调试构建的-O0,上述测试用了88秒。

Stack Overflow上回复该帖的其他开发人员证实了Jukka的发现。开发人员sjeohp用Swift实现快速排序算法时,发现如果不启用编译优化(-Onone)会比C慢1000倍。另一方面,他发现当强制积极的编译优化(-Ofast)时,Swift比C稍快。Stack Overflow的另一个帖子描述了图像处理测试,也强调了类似的研究结果。

根据LLVM文档,积极优化忽略了严谨的标准规范。-Ofast启用了所有-O3优化并开启了-ffast-math,后者放宽了IEEE或ISO的数学函数规范,可能导致那些应该具有规范保证的程序产生不正确的输出。此外,-Ofast禁用了整型溢出和数组下标越界的检查,因此降低了Swift的安全特性。

Jukka进行了深入分析,他在编译器对另一个测试所生成的汇编代码中,发现一个数组的简单循环产生了大量的内存管理调用(保留和释放),而这是完全没有必要的。这个测试没有涉及数学,因此主要的性能瓶颈似乎来自这些无用的调用。

数名开发人员指出Swift仍然处于Beta状态,这可能是Swift当前这种行为的最好解释。具体来说,文中提到的毫无必要的释放/保留调用暗示了ARC优化存在一些Bug,可能不需要积极优化就可以修复。

因为该语言仍处于Beta状态,苹果不会允许开发者提交Swift开发的应用进行审查。Xcode的最终版本预计在今年秋天发布。(infoq/作者 Sergio De Simone ,译者 梅雪松 

查看英文原文:Swift Might Not Be As Fast As Apple Claims It To Be: First Benchmarks

本文系作者 infoq 授权钛媒体发表,并经钛媒体编辑,转载请注明出处、作者和本文链接
本内容来源于钛媒体钛度号,文章内容仅供参考、交流、学习,不构成投资建议。
想和千万钛媒体用户分享你的新奇观点和发现,点击这里投稿 。创业或融资寻求报道,点击这里

敬原创,有钛度,得赞赏

赞赏支持
发表评论
0 / 300

根据《网络安全法》实名制要求,请绑定手机号后发表评论

登录后输入评论内容

快报

更多

13:33

联电新加坡新厂延后量产,系配合客户订单调整

13:30

雷军:以前有人诋毁我们是组装厂,但今天我很自豪被叫“雷厂长”

13:29

莫德纳宣布与OpenAI合作,将实现业务流程自动化

13:28

国家统计局:促进消费持续扩大要重点做好三方面工作

13:26

传媒板块震荡走低,紫天科技跌超11%

13:24

2023年全国海关实施知识产权保护措施6.7万次

13:23

消息人士:KKR在最新的全球基础设施基金中筹集了110亿美元

13:21

上海将开展存量专利盘点工作,建立专利转化资源库

13:19

国家发改委:下一步要把农业转移人口市民化摆在更加突出位置,释放城镇化所蕴含的巨大内需潜力

13:17

充电桩概念异动拉升,中恒电气直线涨停

13:15

国家发改委:推动各个方面多出有利于稳增长、稳就业、稳预期的政策

13:13

酒店、旅游板块午后活跃,西藏旅游、岭南控股涨停

13:11

雷军:汽车工厂至少能带动5—6倍的周边产业

13:10

卓驭科技与高通宣布推出新的智能驾驶解决方案,年内量产上车

13:09

赵长鹏在宣判前道歉,161人致信支持请求宽大处理

13:05

支付宝启动“春季消费节”,投入10亿消费红包

13:03

东风汽车集团尤峥:东风和华为采取共同定义汽车的合作模式

13:02

IBM预计2024全年营收仍将保持中间个位数增长

13:01

民政部、国家数据局:拟将天津市等48个地区作为基本养老服务综合平台试点地区

12:56

魏牌蓝山智驾版发布,可实现全场景无图NOA

扫描下载App