2016-07-10 6 views
-2

Ich möchte das Timing in einem größeren Maßstab ausführen und Datenrahmen von Ergebnissen aus der magischen Funktion von iPython %timeit ausgeben. Ich will es nicht umschreiben. Wie sollte ich direkt zugreifen?Wie greife ich direkt auf die magische magic-Funktion zu

würde ich so etwas wie dies mag:

f = lambda x: (x * 4. + 2) ** .5 

for i in xrange(3): 
    print timeit(f(i)) 

Und ich würde eine Ausgabe bekommen:

100 loops: 1 s 
10 loops: 10 s 
10 loops: 3e9 ns 

oder ähnliches.

+6

https://docs.python.org/ Bibliothek/timeit.html –

Antwort

5

Sie könnten das timeit Modul importieren und manuell die Anzahl der Iterationen angeben:

from timeit import timeit 

f = lambda x: (x * 4. + 2) ** .5 

for i in xrange(3): 
    num = 100 
    print '%s: %s'%(num, timeit('f(i)', number=num)) 

Sie können repeat verwenden, anstatt Ihre Timer des Setzens in einer Schleife