3个稳定版本
1.1.2 | 2019年1月3日 |
---|---|
1.1.1 | 2018年12月30日 |
1.1.0 | 2018年12月22日 |
#244 在 性能分析 中
235KB
286 行
包竞赛
想知道哪个包能更快地实现某些功能吗?
包竞赛将相同类型的输入提供给包函数,并基准测试结果。
每个基准测试都附带用于运行每个函数的实际代码。
你可以查看代码来判断使用哪个包。
注意事项
仅因为某个包在特定函数中速度更快,并不意味着该包“更好”。
其他包可能在其他功能形式上具有专长。其他包也可能更易于使用。
不要仅通过查看一个基准测试就进行泛化。
基准测试机器规格
- 操作系统:Windows 7 Ultimate
- 处理器: Intel Core i5-6600处理器 四核 64位 x86,3.3 GHz基本频率。
- 主板: 技嘉LGA1151英特尔B150微ATX主板
- RAM: GeIL EVO POTENZA 16GB DDR4 SDRAM DDR4 2400 (PC4 19200)
- 显卡: EVGA GeForce GTX 960 4GB ACX 2.0+
- 硬盘: 希捷3TB台式机HDD SATA 6Gb/s 64MB缓存
Rust和包更新
这里的所有基准测试都是自动生成的。
每天包竞赛都会检查Rust或包的新版本。
如果检测到更新,包竞赛将重新运行基准测试并更新GitHub。
限制
仅共享函数
包竞赛不会基准测试每个包的独特函数。
它只会基准测试与其它包函数匹配的函数。
如果某个包有一个其它包没有的额外函数,包竞赛不会基准测试它。
正确性检查
虽然Crate Race检查了函数返回了预期正确的值,但它不会测试函数的边缘情况是否被正确处理。
我们正在进行基准测试,而不是质量保证。
基准代码不是惯用的。
基准代码的目的是尽可能简短和快速编写。
输入和输出始终相同。
如果它们发生变化,代码将引发恐慌。恐慌将由crate-race捕获。
因此,在没有任何进一步检查的情况下,在所有地方使用unwrap
()是完全正常的。
贡献/沟通/建议
你想将一些代码添加到基准测试中?请随时提交pull request。遵循贡献指南。
没有代码,但有想要测试的crate或功能的建议?
在这里写下来:https://www.reddit.com/r/crate_race/ - 我会根据投票数量来判断添加什么。
依赖关系
~23MB
~461K SLoC