У меня есть программа в python 3.6, которую я сделал для запуска в linux. Мне нужно было знать, сколько CPU, памяти и т.д. Оно потреблялось, когда оно было выполнено (в командной строке), вы могли бы мне помочь?
Спасибо
Примечание. Извините за используемые теги, я не был уверен, какие из них
Для основных экспериментов вы можете использовать %timeit
с интерпретатором ipython
. Для высокоточных низкоуровневых - perf
. Для всего, что есть в статье, есть статья, посвященная теме в документации.
Для таймерных одиночных линий вы можете использовать магическую функцию python %timeit
. (Вы также можете использовать несколько строк, но это даст результат для полного выполнения, а не для каждого оператора)
Однако для подробного описания вы можете использовать cProfile. Вы можете прочитать описание здесь.
Пример кода, который может вам помочь:
[Sample.py]
import time
print('Hello!')
time.sleep(2)
print('Thanks for waiting!')
cProfile может помочь вам профилировать вашу программу, написанную на sample.py. Запустите свой файл python, как показано ниже, с вашего терминала linux.
user@this-pc$ python3 -m cProfile sample.py
Выход:
Hello!
Thanks for waiting!
6 function calls in 2.001 seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 2.001 2.001 sample.py:1(<module>)
1 0.000 0.000 2.001 2.001 {built-in method builtins.exec}
2 0.000 0.000 0.000 0.000 {built-in method builtins.print}
1 2.001 2.001 2.001 2.001 {built-in method time.sleep}
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
Надеюсь, это вам поможет.
Ура!