profile:0(print_close_matches("профайлер")) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

profile:0(print_close_matches("профайлер"))

Поиск

0.010

23.620

23.620

 

 

profile:0(print_close_matches("профайлер"))

 

0.000

 

 

0.000

 

 

profile:0(profiler)

 

 

Здесь колонки таблицы показывают следующие значения: ncalls -количество вызовов(функции), tottime - время выполнения кода функции (не включая времени выполнения вызываемых из нее функций), percall -то же время,в пересчете на один вызов, cumtime -суммарное время выполнения функции(и всех вызываемых из нее функций), filename -имя файла, lineno -номер строки в файле, function -имя функции(если эти параметры известны).

 

Из приведенной статистики следует,что наибольшие усилия по оптимизации кода необходимо приложить в функциях quick_ratio()(на нее потрачено8,69секунд),get_close_matches()(4,93секунд),затем можно заняться real_quick_ratio()(2,95секунд)и _calculate_ratio()(секунд).

 

Это лишь самый простой вариант использования профайлера:модуль profile(и связанный с ним pstats)позволяет получать и обрабатывать статистику:их применение описано в документации.

 

Модуль timeit

 

Предположим,что проводится оптимизация небольшого участка кода.Необходимо определить,какой из вариантов кода является наиболее быстрым.Это можно сделать с помощью модуля timeit.

 

В следующей программе используется метод timeit() для измерения времени,

 

необходимого для вычисления небольшого фрагмента кода.Измерения проводятся для трех вариантов кода,делающих одно и то же:конкатенирующих десять тысяч строк в одну строку.В первом случае используется наиболее естественный, "лобовой"прием инкрементной конкатенации,во втором-накопление строк в списке с последующим объединением в одну строку,в третьем применяется списковое включение,а затем объединение элементов списка в одну строку:

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 47; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.006 с.)