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

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

登录后输入评论内容

快报

更多

2026-03-07 23:07

科威特石油公司“预防性削减”原油生产和提炼

2026-03-07 22:37

新任招商局集团董事李永明已任集团党委副书记

2026-03-07 21:26

国内成品油即将迎来调整窗口期,加满一箱油预计多花19.5元

2026-03-07 20:32

3月7日新闻联播速览19条

2026-03-07 19:52

特朗普宣称考虑扩大打击范围,伊朗或遭受“非常沉重打击”

2026-03-07 19:46

商务部回应安世荷兰批量禁用安世中国员工办公软件:严重破坏企业正常生产经营

2026-03-07 18:54

习近平在出席解放军和武警部队代表团全体会议时强调 充分发挥政治建军特有优势 凝心聚力推动国防和军队现代化行稳致远

2026-03-07 18:48

周鸿祎称AI不该只用来做小视频

2026-03-07 18:46

非银机构流动性支持机制会不会推出?潘功胜回应

2026-03-07 18:21

潘功胜:央行将实施好适度宽松的货币政策,保持社会融资条件相对宽松

2026-03-07 17:14

伊朗宣布关闭股市

2026-03-07 17:13

地中海航运公司MSC:对所有从地中海和黑海运往印度次大陆、红海及东非地区的货物征收紧急燃油附加费

2026-03-07 17:04

国家发展改革委社会司:规范有序推进辅助生殖技术应用,全面落实生育休假制度

2026-03-07 17:04

国家发展改革委社会司:加强公共设施适老化改造,拓展适合老年人的多样化就业岗位

2026-03-07 17:00

林俊旸发文告别阿里千问

2026-03-07 16:49

哈尔滨市长:2025至2026年冰雪季接待游客1.5亿人次

2026-03-07 16:44

国家发展改革委社会司:“十五五”将探索延长义务教育年限

2026-03-07 16:42

国家发展改革委袁达:“十五五”我国将建成100个左右国家级零碳园区

2026-03-07 16:41

国家发改委发展战略和规划司司长陈雷:“十五五”时期基本建成世界级港口群和机场群

2026-03-07 16:38

国家发改委秘书长袁达:将培育壮大海洋生物医药等新兴产业,提高现代航运、海洋旅游等服务业发展水平

扫描下载App