Chciałbym zmierzyć czas, który upłynął, aby ocenić blok kodu w programie Python, , prawdopodobnie rozdzielając czas procesora użytkownika, czas procesora i czas, który upłynął.Uzyskaj czas wykonania bloku kodu w Pythonie 2.7
Znam moduł timeit
, ale mam wiele funkcji napisanych samodzielnie i nie jest to łatwe , aby przekazać je w procesie instalacji.
wolałbym mieć coś, co można by wykorzystać jak:
#up to here I have done something....
start_counting() #or whatever command used to mark that I want to measure
#the time elapsed in the next rows
# code I want to evaluate
user,system,elapsed = stop_counting() #or whatever command says:
#stop the timer and return the times
Czasy CPU użytkownika i systemowe nie są niezbędne (choć chciałbym je zmierzyć), ale dla upływu czasu chciałbym aby móc zrobić coś takiego, zamiast używać skomplikowanych poleceń lub modułów.
Czytałem, że nie jest to najlepsze podejście do bloków kodu, które trwają ułamek sekundy. Również myślę, że przy korzystaniu z modułu czasu preferowana jest metoda .clock()? http://stackoverflow.com/questions/85451/python-time-clock-vs-time-time-accuracy – lucacerone
Zmieniono moją odpowiedź na użycie 'timeit.default_timer()', która wybierze między 'time.time()' lub 'time.clock()' w zależności od tego, która ma wyższą rozdzielczość na używanej platformie. –
dzięki, default_timer() wydaje się lepsze. Porady na tej stronie również wydają się bardzo ładne! http://www.huyng.com/posts/python-performance-analysis/ – lucacerone