运行时和对指定函数、方法或代码片段的调用数。有选择地输出好的报告。

Aeon的Python项目详细描述


度量指定的函数、方法或代码片段的频率 执行了什么以及它们的运行时是什么。有选择地打印一份好的报告给 尽管原始数据可以作为 好。

轮廓

  1. 标记代码中应使用提供的 上下文管理器或装饰器。
  2. 告诉程序在以下情况下输出报告或提供数据 结束了。
  3. 运行你的程序。
  4. 是吗?????
  5. 利润。

基本用法

如何指定应监视的代码。

一段独立的代码。

fromaeonimporttimerwithtimer('my measurement'):# do stuff here...# to assign the measurement to a specific groupwithtimer('my measurement','general frobnication'):# do stuff here

功能。

fromaeonimporttimer@timerdefmy_function():pass

一种方法。

fromaeonimporttimerclassFoo(object):@timer.methoddefbar(self):pass

如何看报告。

fromaeonimporttimerprinttimer.report()printtimer# equivalent

其他功能

如果你想的话,你可以实例化你自己的计时器 并行使用多个。

fromaeonimportTimermy_timer=Timer()withmy_timer('my_measurement'):pass# orwithmy_timer('my_measurement','my_group'):pass@my_timerdeffoo():passclassFoo(object):@my_timer.methoddefbar(self):pass

可以查询计时器对象以获取特定的测量值或数据 用来生成报告。

此外,没有什么可以阻止您单独使用测量类:

fromaeonimportMeasurementm=Measurement()foriinxrange(100):m.start()# stuff happens herem.stop()assertm.calls==100printm.total_runtime,m.time_per_call

安装

安装很简单,因为:

$ sudo pip install aeon

基本原理

该代码最初用于计算物理项目 其中典型的运行时分布非常依赖于问题 就在手边。事实证明,它能让人感觉到时间在哪里 在计算期间花费,并快速显示部分代码何时继续 暴乱事实上,在该项目中,它是在生产中启用的,因为 头顶很低。

使它与众不同的是只监视 代码并可选地对这些部分进行逻辑分组(默认情况下, 它将使用类或模块名称)。

有更好的选择来进行适当的基准测试,比如cprofile。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java ZK我们可以保存Windows组件状态吗?   java中的xpath比较路径   将字符串解析为长字符串时出现java数字格式异常   Apache CXF中获取异常中的服务器stacktrace的java问题   java我正在用j2me编程,我需要用丰富的格式编写文本以获得帮助屏幕   Android Room数据库中id字段的java名称字段约定   对于API9,java ArrayList<HashMap<String,String>>无法正确转换为JSONArray   api是最初的Java理想死了吗?   opencv java中的python掩码图像   java为什么在实现克隆方法时返回super。克隆()不是此克隆()   java HttpUrlConnection是否存在并发惩罚?   有没有办法将java arraylist对象复制到codemodel生成的源代码中?