Python內建型別效能分析

2022-02-27 07:25:03 字數 2350 閱讀 9446

timeit模組可以用來測試一小段python**的執行速度。

class timeit.timer(stmt='pass', setup='pass', timer=)

timer是測量小段**執行速度的類。

stmt引數是要測試的**語句(statment);

setup引數是執行**時需要的設定;

timer引數是乙個定時器函式,與平台有關。

timeit.timer.timeit(number=1000000)

timer類中測試語句執行速度的物件方法。number引數是測試**時的測試次數,預設為1000000次。方法返回執行**的平均耗時,乙個float型別的秒數。

def test1():

l =for i in range(1000

): l = l +[i]

def test2():

l =for i in range(1000

):def test3():

l = [i for i in range(1000

)]def test4():

l = list(range(1000

))from

timeit import timer

t1 = timer("

test1()

", "

from __main__ import test1")

print(

"concat

",t1.timeit(number=1000), "

seconds")

t2 = timer("

test2()

", "

from __main__ import test2")

print(

"",t2.timeit(number=1000), "

seconds")

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.7890608310699463, '

seconds')

# ('

', 0.13796091079711914, '

seconds')

# ('

comprehension

', 0.05671119689941406, '

seconds')

# ('

list range

', 0.014147043228149414, '

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

', 1.9101738929748535, '

seconds')

# ('

pop_end

', 0.00023603439331054688, '

seconds

')

測試pop操作:從結果可以看出,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引數是執行 時需要的...