python timeit

来源:互联网 发布:excel数据有效性空格 编辑:程序博客网 时间:2024/04/30 15:16

《numpy & scipy》中看到narray和list 速率的比较,Ipython环境,直接在命令行里就进行了。

在python环境下就稍微复杂一点了,略微一试。

import numpy as npfrom timeit import timeitdef list_time(alist, scalar):    n = len(alist)    for i in range(n):        alist[i] = alist[i] * scalar        def array_time(arr, scalar):    arr = arr * scalar    if "__name__ == __main__":        #data = np.load('hw3_train.dat')        arr = np.arange(1)    larr = arr.tolist()    scalar = 6        f1 = 'array_time('+str(arr)+','+str(scalar)+')'    print timeit(f1,'from __main__ import array_time', number=100)          f2 = 'list_time('+str(larr)+','+str(scalar)+')'    print timeit(f2,'from __main__ import list_time', number=100)  

这是100次的运行结果。

有问题的是,这里arange()中只能是1. 不然会发生错误。猜想是str(arr)时除了问题。


如果是简单的函数/语句,可以用这个测试(timeit也本就是为小段代码设计的)。稍微复杂点的,还是用其他方法测试吧。



0 0
原创粉丝点击