Microbenchmarks mit Python (Microbenchmarks mit Python), Lektion, Seite 723922
https://www.purl.org/stefan_ram/pub/microbenchmarks_python (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Python-Kurs

Microbenchmarks mit Python

main.py

import timeit

a = "irhierhoaegraograoihgahuaoaihraeuihgeihgiau"
b = ""
c = "ukjajrgioajrioagjgaiojaojrajgriejriigjoiesjrgsiojgresiojg"
d = "ioeg"
e = "aeohgargaijfiawifaaaohgaurhgiawhguiahuhhi"
f = "feiorgeio"
g = "r"
h = "eigeio"
i = "erghsorgaorjgiaorjgioajgoajeiroaj"
j = "oiwrg"

for _ in range( 5 ):

start_time = timeit.default_timer()
for _ in range( 100000 ):
x = ''.join( [ a, b, c, d, e, f, g, h, i, j ])
print( timeit.default_timer() - start_time )

start_time = timeit.default_timer()
for _ in range( 100000 ):
x = f'{a}{b}{c}{d}{e}{f}{g}{h}{i}{j}'
print( timeit.default_timer() - start_time )

for _ in range( 100000 ):
x = a + b + c + d + e + f + g + h + i + j
time_diff = timeit.default_timer() - start_time
print( timeit.default_timer() - start_time )

for _ in range( 100000 ):
x = '{}{}{}{}{}{}{}{}{}{}'.format( a, b, c, d, e, f, g, h, i, j )
time_diff = timeit.default_timer() - start_time
print( timeit.default_timer() - start_time )

print()

Protokoll
0.132550858
0.11880729099999998
0.327809222
0.570456571

0.110032346
0.10463181999999993
0.2865806619999999
0.5006269039999999

0.10933702099999998
0.10488155499999996
0.2858361599999999
0.4998657249999998

0.10952731599999987
0.10229012400000004
0.28282479699999996
0.5511474139999999

0.13750194599999999
0.12796582099999965
0.3549461279999999
0.6235099269999997

python -m timeit "1 + 2"

10000000 loops, best of 3: 0.0468 usec per loop

%~> python -m timeit -s "x = range(10000)" "sum(x)"

1000 loops, best of 3: 543 usec per loop

%~> python -m timeit -s "x = range(10000)" -s "y = range(100)" "sum(x)" "min(y)"

1000 loops, best of 3: 554 usec per loop

def mytimer( function, iterations ):
start_time = timeit.default_timer();
for x in range( iterations ):
if not function(): print( "what?" )
print( timeit.default_timer() - start_time )

import timeit

f();

start_time = timeit.default_timer()

func1()

print(timeit.default_timer() - start_time)

start_time = timeit.default_timer()

func2()

print(timeit.default_timer() - start_time)

test.py:

def InsertionSort(): ...

def TimSort(): ...

Kommandozeile

% python -mtimeit -s'import test' 'test.InsertionSort()'

% python -mtimeit -s'import test' 'test.TimSort()'

main.py

import timeit

a = "irhierhoaegraograoihgahuaoaihraeuihgeihgiau"
b = ""
c = "ukjajrgioajrioagjgaiojaojrajgriejriigjoiesjrgsiojgresiojg"
d = "ioeg"
e = "aeohgargaijfiawifaaaohgaurhgiawhguiahuhhi"
f = "feiorgeio"
g = "r"
h = "eigeio"
i = "erghsorgaorjgiaorjgioajgoajeiroaj"
j = "oiwrg"

start_time = timeit.default_timer()

for i in range( 1000 ):
x = a + b + c + d + e + f + g + h + i + j

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram723922 stefan_ram:723922 Microbenchmarks mit Python Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd723922, slrprddef723922, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/microbenchmarks_python