Оптимизация Python: локальные переменные больше не так эффективны

Команда Python for Devs представила перевод статьи о том, что популярная оптимизация в Python — создание локальных псевдонимов для глобальных функций — больше не дает значительного преимущества. С выходом CPython 3.11 производительность улучшилась, и старый подход, например, l = len, утратил свою актуальность.

Оптимизация производительности зависит от того, как написан код, чтобы облегчить работу аппаратного обеспечения. Ранее, когда процессоры развивались, старые трюки быстро устаревали. В Python аналогично, улучшения в виртуальных машинах и компиляторах также сделали некоторые оптимизации неэффективными.

Трюк с присвоением функции в локальную переменную работал за счет более быстрого локального поиска. Однако тесты показывают, что начиная с CPython 3.11, такой подход не дает особого выигрыша. Вместо этого, современные особенности языка, такие как специализация инструкций, значительно ускорили выполнение кода.

Тем не менее, в ситуациях с импортированными функциями преимущества локальных псевдонимов все еще могут быть значительными. Оптимизации зависят от изменений в среде выполнения, и важно следить за их актуальностью.

Понравилась статья? Поделиться с друзьями: