【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

苹果开源 Swift 基准测试套件

  • 2016-02-14
  • 本文字数:848 字

    阅读完需:约 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

2016-02-14 18:001385
用户头像

发布了 1008 篇内容, 共 370.5 次阅读, 收获喜欢 340 次。

关注

评论

发布
暂无评论
发现更多内容

第二届粤港澳大湾区(黄埔)国际算法算例大赛正式开启报名

ModelWhale

算法大赛 琶洲 院士 数据科学竞赛 算法赛

别再说调试器不好用了!

高端章鱼哥

前端 调试器

网关改造正当时,跟学 HigressOps 夏季营

阿里巴巴云原生

故障注入的方法与工具

DevOps和数字孪生

故障注入 汽车行业

LeaRun快速开发框架如何解决低代码劣势?

力软低代码开发平台

活动回顾丨云原生技术实践营广州站回放 & PPT 下载

阿里巴巴云原生

阿里云 云原生

从单元测试到性能测试:41款工具满足所有的软件测试需求

PingCode

软件测试 PingCode 软件测试工具

软件测试 | MySQL字符集的修改步骤

测吧(北京)科技有限公司

测试

2023年秋招最新版牛客网Java面试题及答案整理(持续更新)

架构师之道

Java 面试

Docker的架构与安装

timerring

Docker

深入理解 Serverless 计算的并发度

阿里巴巴云原生

阿里云 Serverless 云原生

3种常见的测试自动化类型

汽车之家客户端前端团队

前端 单元测试 集成测试 自动化测试 端到端

第一批AIGC独角兽开始裁员了

Openlab_cosmoplat

人工智能

数字孪生搭高台,温控节能唱新戏

鲸品堂

数字孪生 建模 智慧机房

10 个处理 JavaScript 对象的实用技巧!

这我可不懂

JavaScript 前端 开发语言

容灾切换时间减少 99%,“云边协同”如何提升影演服务效率与稳定性

阿里巴巴云原生

阿里云 云原生

NFTScan | 07.17~07.23 NFT 市场热点汇总

NFT Research

NFT\

可视化开发工具:让软件应用开发变得更轻松

高端章鱼哥

编程 低代码 JNPF

我也创业了!

Serverless Devs

人工智能 Serverless 云原生

MySQL能用OFFSET分页查询吗

fm

MySQL

一文了解 MySQL 全新版本模型

爱可生开源社区

程序化广告还有未来么?——程序化领域变化的底层逻辑和反思

不在线第一只蜗牛

系统架构 系统搭建 程序化

低代码是怎么火起来的?

这我可不懂

软件开发 低代码 JNPF

MobPush Android SDK 厂商推送限制

MobTech袤博科技

消息推送 Android; 智能推送 推送 推送系统

亚信安慧荣获第二届“鼎信杯”优秀技术支撑奖

亚信AntDB数据库

数据库 AntDB AntDB数据库 企业号 7 月 PK 榜

香港中文大学携手PingCode打造运维管理解决方案

PingCode

PingCode 香港中文大学

记一次容器环境下出现 Address not available

阿里巴巴云原生

阿里云 容器 云原生

和鲸 ModelWhale 与麒麟系统适配认证,打造自主安全、性能可靠的信创 AI 基础软件

ModelWhale

人工智能 信创 国产 麒麟软件 数据科学平台

搭建 OpenTiny 组件库的 Playground 指导手册

OpenTiny社区

开源 Vue 前端 UI组件库

安卓快速启动,启动速度 285 毫秒的实时安卓操作系统(RTAndroid)或 实时 Linux

winfredy

android Linux 快速启动

可视化逻辑编排工具——低代码/无代码平台

互联网工科生

软件开发 低代码 无代码 JNPF

苹果开源Swift基准测试套件_开源_Sergio De Simone_InfoQ精选文章