Несмотря на то, что Python является медленным языком, из-за того, что он не компилируемый, а интерпретируемый. Скорость работы приложений, созданных на таких языках, зависит напрямую от интерпретатора, который интерпретирует это программное обеспечение. Простым языком это скрипт, который выполняет сторонняя программа. Но при грамотном написании программы, это время можно нивелировать.
Профилирование
Для оптимизации кода программы нужно произвести так называемое “профилирование”. Его суть заключается в поиске бутылочных горлышек в коде, из-за который увеличивается время работы ПО.
UNIX
Одним из самых простых вариантов профилирование является использования специальной команды “UNIX time”. Эта команда поможет определить время выполнения проекта.
cProfile
Более точным способом является использование другой функции, названием которой cProfile. С помощью этой функции можно узнать сколько времени на выполнение затратила каждая функция в программе. Эта методика является самой точной в поиске “ленивых” функций.
Если на подозрении имеется функция, которая может тормозить весь проект, то в такой случае можно использовать более легкий метод вычисления времени. Понять время выполнения такой функции можно с помощью простого декоратора.
Советы повышения быстроты выполнения программы
Для повышения производительности самым простым решением использовать встроенные инструменты, не изобретайте велосипед, поищите информацию в интернете о том, что желаете сделать, возможно этот метод уже написан за вас. Используйте встроенные типы. Используйте кэширование, это может помочь сэкономить время при работе с вводом/выводом на повторяющихся данных. Максимально минимизируйте использование глобальных переменных, это также помогает в оптимизации кода. Старайтесь минимально работать со строками. Грамотно используйте генераторы, несмотря на то что ни были разработаны для экономии памяти, а не времени, если всё правильно сделать можно убить сразу двух зайцев.