2015-11-27 2 views
0

Я пытаюсь профилировать скрипт python с несколькими функциями в нем. Вот код, который я использую для профилирования программы:cProfile streamline - python

cProfile.run('loadBMPImage(sys.argv[1])') 
cProfile.run('parseFilterCmdArgs(sys.argv)') 
cProfile.run('doConvolution(img_data, filter_width, filter_weights, img_height, img_width)') 
cProfile.run('saveBMPImage(out_img_data, header_data, sys.argv[2], img_height, img_width)') 

Итак, я вижу 4 отчета профиля в стандартном формате. Тем не менее, мне было интересно, есть ли способ сделать это более плавно и показать один отчет профиля для всех четырех из этих функций? Еще лучше, есть ли способ профилировать всю программу одним вызовом cProfile? Благодаря!

ответ

0

Простой. Просто сделайте одну функцию, которая называет их 4 всеми необходимыми аргументами.

Чтобы просмотреть весь сценарий как отдельную программу, вы действительно можете вызвать cProfile из командной строки.

➜ ~ PY3 -m Cprofile --help
Использование: cProfile.py [-o output_file_path] [-s сортировать] файл_сценария [аргумент] ...

Опции: -h, --help показать эту справку и выйти -o OUTFILE, --outfile = OUTFILE Сохранить статистику для -s СНП, --sort = SORT Порядок сортировки при печати на стандартный вывод, основанный на классе pstats.Stats

Смежные вопросы