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

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 altbeacon   java在OpenXava免费版本中可以创建多个用户吗?   java如何决定定义变量“private”?   java为什么GetMethodID()对不存在的方法不返回NULL?   java Get JComboBox项字符串表示法   java如何在ifs之间设置限制?   java Android错误:IllegalStateException   JavaSpring4MVC语言环境已更改,但JSP对此没有响应   java Netbeans:如何构建。jar文件随附外部文件。jar库?   Spring Petclinic项目Maven编译时出现java错误   声明Java数组增量元素的快速方法   java无法使用相对xpath找到元素   javascript无法更改标题,也无法在操作栏上显示图标   java标签不是一个接一个地动态创建的   java如何使用ThymeLeaf将对象的属性绑定到隐藏字段?   java从EJB无状态会话bean调用CDI会话范围的生产者方法   java为什么num+=array[i]与for循环中的num=num+array[i]的工作方式不同   使用jsonsimple实现jQuery UI自动完成的java JSON格式   JavaFaceletsUI:重复标记中断JSF表单验证