BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

苹果开源Swift基准测试套件

| 作者 Sergio De Simone 关注 13 他的粉丝 ,译者 谢丽 关注 10 他的粉丝 发布于 2016年2月15日. 估计阅读时间: 3 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

苹果开源了Swift基准测试套件,在向Swift语言添加新特性时,它是跟踪Swift性能及捕获性能衰退的一个重要部分。

Swift基准测试套件由一个Swift源文件集合和若干Python脚本组成,前者实现了测试套件和基准测试辅助功能,后者实现了用于指标对比的工具。

苹果建议在提交任何可能影响性能的变更之前运行基准测试套件。这可以通过在提交pull request之前向build-script传递--benchmark标识来实现,Swift自动构建脚本会负责完成基本的工作,例如构建兼容Swift的LLDB,针对特定平台构建,在构建完成后执行测试等等。这有助于捕获潜在的性能衰退。为了使基准测试结果有意义,需要首先在Swift的主分支上运行一个基线基准测试,然后再在开发分支上运行基准测试,后一次的运行结果会自动同前一次的运行结果进行对比。

默认情况下,只有面向OS X平台的Swift基准测试会被编译,但可以像下面这样在命令行中指定其他平台:

$ swift/utils/build-script --ios --watchos --tvos

在使用基准测试驱动程序时,开发人员可以控制每个测试样本中的循环迭代次数以及每个测试中的测试样本数,例如:

$ ./Benchmark_O --num-iters=1 --num-samples=1

据苹果工程师Luke Larson介绍,目前,Swift基准测试套件包含75个基准测试,但苹果欢迎开发人员为新的基准测试、辅助程序库以及一般改进作贡献。Larson表示,苹果对贡献者有一个重要的要求,那就是必须遵循同Swift一样的许可协议。因此,将基准测试移植到其他许可协议下是不会被接受的。

目前,Swift基准测试套件并没有同最近发布的Swift持续集成系统整合,后者可以为OS X、iOS和x86_64 Ubuntu Linux等平台构建和运行测试。按照Jenkins的说法,Swift CI系统旨在能够支持更多来自Swift开发社区的平台和体系结构。Swift CI系统允许在pull request中运行测试(比如在提交到主分支之前),并将失败信息通知给负责的开发人员。不过,按照Larson的说法,Swift基准测试套件将来会同Swift CI系统集成。

查看英文原文:Swift’s Benchmarking Suite is Now Open Source

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT