[PYTHON] Geschwindigkeitsvergleich zwischen inkrementierender Zählvariable und Aufzählung

In Python benötigen Sie möglicherweise einen Zähler, wenn Sie eine for-Anweisung in einer Sequenz drehen. : smiley: Zu diesem Zeitpunkt scheint es einfach zu sein, einen Zähler außerhalb der for-Anweisung zu definieren und innerhalb der for-Anweisung zu erhöhen oder den Zähler mithilfe von enumerate zu erhalten: entspannt: Als ich diese Geschichte hörte, fragte ich mich, welche schneller verarbeitet werden könnte: verwirrt: Also habe ich beschlossen, die Geschwindigkeit zu messen: grinsen: Klicken Sie hier für den Messcode.

sptst.py


import time

def count(test):
    count=0
    start=time.time()
    for item in test:
        a=count
        b=item
        c=test[count]
        count+=1
    diff=time.time()-start
    return diff

def enumer(test):
    start=time.time()
    for count,item in enumerate(test):
        a=count
        b=item
        c=test[count]
    diff=time.time()-start
    return diff

test=[]
for i in range(100000):
    test.append("test")

loopNum=1000
summation=0
for i in range(loopNum):
    summation+=(count(test))/(enumer(test))

print(summation/loopNum)

Mit einer for-Anweisung mit count und einer for-Anweisung mit enumerate habe ich eine Liste mit 100.000 Elementen erstellt und versucht, eine entsprechende Verarbeitung durchzuführen. : Nackenbart: Jede for-Anweisung wird 1000-mal gedreht, und die Anzahl zeigt an, wie oft die Zeit durchschnittlich ist. : Nackenbart: Infolgedessen beruhigte es sich auf etwa 1,2. : gequält: In diesem Fall war die Verarbeitung gering, sodass es einen 1,2-fachen Unterschied zu geben scheint: no_mouth: Wenn die for-Anweisung einen Zähler benötigt, ist es besser, enumerate zu verwenden, als die Variable außerhalb zu definieren und zu erhöhen: wink:

Recommended Posts

Geschwindigkeitsvergleich zwischen inkrementierender Zählvariable und Aufzählung
Geschwindigkeitsvergleich zwischen CPython und PyPy
Experiment zum Vergleich der Schreibgeschwindigkeit von Dateien zwischen Python 2.7.9 und Pypy 2.5.0
Funktion zum Öffnen einer Datei in Python3 (Unterschied zwischen open und codecs.open und Geschwindigkeitsvergleich)
Geschwindigkeitsunterschied zwischen wsgi, Flasche und Flasche
Geschwindigkeitsvergleich von murmurhash3, md5 und sha1
Neue Datei erstellen [Vergleich zwischen Bash und PowerShell]
[Ruby vs Python] Benchmark-Vergleich zwischen Rails und Flask