在python中对运行时间进行基准测试

variant_city

我必须对JSON序列化时间进行基准测试,并将其与节俭和Google的协议缓冲区的序列化时间进行比较。

而且它必须在python中。

我正计划使用python分析器。http://docs.python.org/2/library/profile.html

探查器将是查找函数运行时的最佳方法吗?

还是在函数调用之前和之后输出时间戳是更好的选择?

还是有更好的方法?

提前致谢!

阿巴内特

profile您链接到文档:

注意探查器模块旨在为给定程序提供执行配置文件,而不是出于基准测试的目的(为此目的是timeit为了获得合理准确的结果)。这尤其适用于使用C代码对Python代码进行基准测试:分析器会为Python代码带来开销,但不会为C级函数带来开销,因此C代码似乎比任何Python代码都要快。

因此,不,您不想使用profile它对代码进行基准测试。您想要使用profile的是在已经知道代码为什么太慢之后找出原因

而且,您也不希望在函数调用之前和之后输出时间戳。如果您不小心的话,有太多事情可能会出错(使用错误的时间戳功能,让GC在测试运行的中间运行一个循环集合,包括循环计时中的测试开销,等等)。 。),并timeit为您解决所有这些问题。

这样的事情是基准测试的一种常见方法:

for impl in 'mycode', 'googlecode', 'thriftcode':
    t = timeit.timeit('serialize(data)', 
                      setup='''from {} import serialize; 
                               with open('data.txt') as f: data=f.read()
                            '''.format(impl),
                      number=10000)
    print('{}: {}'.format(impl, t)

(我在这里假设您可以编写将三个不同的序列化工具包装在同一API中的三个模块,serialize一个使用字符串并对其执行某些操作的函数。显然,组织事情的方式不同。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Python中的日期/时间计算正常运行时间

来自分类Dev

在python中显示算法运行时间

来自分类Dev

JMH基准测试-比较备用实现的运行时的简便方法

来自分类Dev

通过Jest获取测试运行时间

来自分类Dev

为什么 Python 中的执行时间在每次运行时给出不同的结果?

来自分类Dev

如何对 CDI 运行时故障进行 jenkins 测试?

来自分类Dev

如何对程序运行时间线程进行计时

来自分类Dev

如何实现一个接口来跟踪每个子节的运行时间以及python中该节的总运行时间

来自分类Dev

在python中运行时变量访问

来自分类Dev

在python中运行时变量访问

来自分类Dev

运行时间控制

来自分类Dev

运行时间太长

来自分类Dev

算法的运行时间

来自分类Dev

确定运行时间

来自分类Dev

无限运行时间

来自分类Dev

在调试器中运行时,python导入会花费很长时间

来自分类Dev

如何在Python中检查代码的运行时间。PyCharm是我的IDE

来自分类Dev

测试工具中的凿子运行时错误

来自分类Dev

在 Spring 中以测试模式运行时如何禁用方法?

来自分类Dev

使用GLCM减少纹理分析的运行时间[Python]

来自分类Dev

将列表转换为Python设置的运行时间

来自分类Dev

这些Python函数没有预期的运行时间

来自分类Dev

运行时间长的python WSGI

来自分类Dev

Python计算的运行时间结果不正确

来自分类Dev

使用GLCM减少纹理分析的运行时间[Python]

来自分类Dev

计算给定函数python的运行时间

来自分类Dev

从任务调度程序,python 获取“上次运行时间”

来自分类Dev

从表中获取总正常运行时间

来自分类Dev

分析时间时C ++中的运行时错误