2011-01-07 7 views
5

Ich testete den folgenden Code aus one of my previous questions (turning a list into a dictionary):Richtige Art zu importieren, wenn Sie Zeit verwenden?

single = ['key1', 'value1', 'key2', 'value2', 'key3', 'value3'] 

if __name__ == '__main__': 
    from timeit import Timer 
    print Timer("dict(zip(single[::2], single[1::2]))", 
     "from __main__ import single").timeit() 
    print Timer("si = iter(single); dict(izip(si, si))", 
     "from __main__ import single; from itertools import izip").timeit() 

Und ich bin, ob Best Practice unsicher bei der Verwendung von timeitizip in Timer ‚s-Anweisung oder Setup zu importieren (I Setup gehe davon aus, aber das Ende Timing-Ergebnis unterscheidet sich je nachdem, was ich tue).

Anyways, ich war nur für zusätzliche Einblicke von euch Hoffnung, wenn Ihr Code Timing usw. (Auch versuche ich nur zu lernen-ich bin nicht für vorzeitige Optimierung oder etwas leiden.)

Danke.

Antwort

5

Tun Sie es im Setup. Schließlich würden Sie das Modul nicht jedes Mal neu importieren, wenn Sie ein Diktat erstellen - nur einmal für das gesamte Programm. Sie interessieren sich nicht für das Timing beim Importieren des Moduls.

+0

Nizza. Vielen Dank. – zachwill

Verwandte Themen