Оптимизация Python начинается с профилирования для поиска реального узкого места — никогда не гадайте. Python интерпретируется, его динамическая природа делает его медленнее, чем компилируемые языки, поэтому оптимизация сосредотачивается на лучших алгоритмах, использовании библиотек на основе C и снижении накладных расходов интерпретатора в горячих путях.
Профилируйте в первую очередь
import cProfile
cProfile.run("my_function()")
