timeit模組可以用來測試一小段python**的執行速度。
class
timeit.timer
(stmt='pass', setup='pass', timer=)
timeit.timer.timeit
(number=1000000)
timer是測量小段**執行速度的類。
stmt引數是要測試的**語句(statment)。
setup引數是執行**時需要的設定。
timer引數是乙個定時器函式,與平台有關。
timer類中測試語句執行速度的物件方法。number引數是測試**時的測試次數,預設為1000000次。方法返回執行**的平均耗時,乙個float型別的秒數。
from timeit import timer
deftest1
(): l =
for i in range(1000):
l = l + [i]
deftest2
(): l =
for i in range(1000):
deftest3
(): l = [i for i in range(1000)]
deftest4
(): l = list(range(1000))
t1 = timer("test1()", "from __main__ import test1")
print("concat ",t1.timeit(number=1000), "seconds")
t2 = timer("test2()", "from __main__ import test2")
t3 = timer("test3()", "from __main__ import test3")
print("comprehension ",t3.timeit(number=1000), "seconds")
t4 = timer("test4()", "from __main__ import test4")
print("list range ",t4.timeit(number=1000), "seconds")
結果:
('concat ', 1.2071499824523926, 'seconds')
('comprehension ', 0.031675100326538086, 'seconds')
('list
range ', 0.010011911392211914, 'seconds')
pop操作測試
x = range(2000000)
pop_zero = timer("x.pop(0)","from __main__ import x")
print("pop_zero ",pop_zero.timeit(number=1000), "seconds")
x = range(2000000)
pop_end = timer("x.pop()","from __main__ import x")
print("pop_end ",pop_end.timeit(number=1000), "seconds")
結果:
('pop_zero ', 3.614252805709839, 'seconds')
('pop_end ', 8.20159912109375e-05, 'seconds')
從結果可以看出,pop最後乙個元素的效率遠遠高於pop第乙個元素 Python內建型別效能分析
python內建型別效能分析 timeit模組 timeit模組可以用來測試一小段python 的執行速度。class timeit.timer stmt pass setup pass timer timer是測量小段 執行速度的類。stmt引數是要測試的 語句 statment setup引數是...
Python內建型別效能分析
學習目標 掌握timeit模組的使用 timeit模組 timeit模組可以用來測試一小段python 的執行速度。class timeit.timer stmt pass setup pass timer timer是測量小段 執行速度的類。stmt引數是要測試的 語句 statment setu...
Python內建型別效能分析
使用到的知識點 timeit模組 timeit模組可以用來測試一小段python 的執行速度。class timeit.timer stmt pass setup pass timer timer是測量小段 執行速度的類。stmt引數是要測試的 語句 statment setup引數是執行 時需要的...