Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 16030|Отговор: 0

[Бакшиши] Няколко метода за изчисляване на времето за изпълнение в Python

[Копирай линк]
Публикувано в 23.04.2018 г. 15:54:36 ч. | | | |
Първо, нека поговорим за капаните, с които се сблъсках – проблемите, които срещнах в продукцията, аз планирам изпълнението на python скрипта и наблюдавам процеса, времето за изпълнение на python скрипта е много по-голямо от времето за изпълнение на програмата, което броя в python скрипта.
Времето за наблюдение на изпълнението на python скриптовете е 36 часа, докато времето за самостоятелно изпълнение при python скриптовете е около 4 часа.
Първото, което ми идва наум след проблема, е, че има проблем с Linux и не открих аномалии в различни логове.
После се сещам за py2neo, използван в Python за асинхронно писане на данни, блокирайки изпълнението на процеса.
Накрая беше открит проблемът: начинът, по който python скриптът използва time.clock(), за да брои времето за изпълнение на процесора, а не времето за изпълнение на програмата.
След това нека сравним няколко статистики за времето в Python:

Метод 1:

datetime.datetime.now() получава текущата дата, а след като изпълнението на програмата приключи, стойността на времето, получена от този метод, е времето на изпълнение на програмата.

Метод 2:

time.time(), за да получа текущото време от епохата (За секунди)。 Ако часовникът на системата ги предоставя, може да има частица от секундата. Това място връща тип с плаваща запетая. Тук се получава и времето за изпълнение на програмата.

Метод 3:

time.clock() връща времето на процесора от момента на стартиране или първоначално извикване на програмата. Това има толкова прецизност, колкото системното записване. Връщането също е тип с плаваща запетая. Тук получавате времето за изпълнение на процесора.
Забележка: Време за изпълнение на програмата = време на процесора + време за изход + време за хибернация или изчакване

Ето как тествам времето за изпълнение на функцията с метод 2:







Предишен:Ръководство за инсталация на python 3.6.5 под Windows
Следващ:Еволюцията на невронната мрежова архитектура: Изчерпателен преглед на повече от десет архитектури от LeNet5 до ENet
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com