asv的memray基准插件
项目描述
asv_bench_memray
这是一个用于asv的外部定义的memray
基准插件的概念验证。
用法
在您的asv.conf.json
中,将以下内容添加到要求矩阵中
"matrix": {
"req": {
"numpy": ["1.21"],
"asv_plugin_memray": [""]
},
},
这应该足以运行以下示例
import numpy as np
class MyBenchmark:
params = [10, int(2e4)]
def ray_sum(self, n):
self.data = np.random.rand(n)
np.sum(self.data)
这将产生类似以下的结果
ASV_RUNNER_PATH="../asv_runner" asv run --bench sum
· Creating environments.......
· Discovering benchmarks
·· Uninstalling from virtualenv-py3.9-asv_bench_memray.._asv_bench_memray-numpy1.21
·· Building 30a650cb <main> for virtualenv-py3.9-asv_bench_memray.._asv_bench_memray-numpy1.21.
·· Installing 30a650cb <main> into virtualenv-py3.9-asv_bench_memray.._asv_bench_memray-numpy1.21
· Running 1 total benchmarks (1 commits * 1 environments * 1 benchmarks)
[ 0.00%] · For project commit 30a650cb <main>:
[ 0.00%] ·· Benchmarking virtualenv-py3.9-asv_bench_memray.._asv_bench_memray-numpy1.21
[100.00%] ··· benchmarks.MyBenchmark.ray_sum ok
[100.00%] ··· ======== =======
param1
-------- -------
10 1.72k
20000 162k
======== =======
ASV_RUNNER_PATH="../asv_runner" asv run --bench sum 8.72s user 3.04s system 99% cpu 11.877 total
开发
在开发过程中,需要传递一个相对路径
"matrix": {
"req": {
"asv_bench_memray": ["../asv_bench_memray"]
},
},
可能还需要清理旧的环境,并显式指向一个asv_runner
实例
rm -rf .asv && ASV_RUNNER_PATH="../asv_runner" asv run --bench sum
我个人将测试基准保存在一个实验仓库中,但任何本地测试都可以。
约定
与所有用于asv的外部定义基准插件一样,此插件具有严格的层次结构。
- 包名以
asv_bench
开头 - 基准定义在包模块下的
benchmarks
文件夹中 - 每个导出的新基准类型都有
export_as_benchmark = [NAMEBenchmark]
属性
有关更多约定,请参阅asv_runner
的文档。
许可协议
MIT。
项目详情
下载文件
下载适用于您的平台文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。
源代码分发
asv_bench_memray-0.1.2.tar.gz (10.4 kB 查看哈希值)
构建版本
关闭
asv_bench_memray-0.1.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f00c552ee20c72c4885d70d7066da043855c62218ffbf2ac0f3f3c9bd99e8d2c |
|
MD5 | 06216e3e0f8929f8246eaed68f587bb9 |
|
BLAKE2b-256 | 9cda8b72a56c79131501f5466e33121d79fd9804059e7ad4164a4aa0aaac1e61 |
关闭
asv_bench_memray-0.1.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5bde1fd68f75317f9f9d8129bc9360734cced91cf1ea7334559b21d305157f2f |
|
MD5 | 622df27be675fecbc91f31953d952bfd |
|
BLAKE2b-256 | df4f16ae7ad03d54e8a2c5a9cd20bd1a13471713b74e4c30c5375e5df184e033 |