Предстоящая версия Python должна быть в два раза быстрее, чем предыдущие версии.

Хотя Python является одним из наиболее широко используемых компьютерных языков в финансах, он чаще используется для конкретных действий, таких как анализ данных, чем для реального программного обеспечения для создания рынка. Это связано с более высоким уровнем абстракции Python, что делает его медленнее в качестве интерпретируемого языка, чем альтернативы, такие как C++ или Java.

Гвидо Ван Россум, автор Python, хочет это изменить. Ван Россум заявил на последнем саммите Python Language Summit, что, когда в октябре 2022 года будет опубликована версия 3.11, он планирует увеличить скорость Python в четыре раза. Его общая цель на следующие четыре года — увеличить скорость Python в пять раз.

Презентация Ван Россума, доступная на Github, подробно описывает, как он планирует это сделать, включая адаптивный интерпретатор байт-кода, оптимизацию стека кадров и обработку исключений с нулевыми издержками. Ван Россум считает, что если эти изменения удвоят скорость Python, будущие изменения могут включать в себя надежный ABI (двоичный интерфейс приложения) или генерацию машинного кода, чтобы еще больше повысить производительность Python.

По словам Ван Россума, эти модификации могут помочь пользователям продуктов на основе Python. Теоретически могут быть включены такие банки, как JPMorgan и Bank of America, активно использующие Python в своих системах оценки рисков (хотя JPMorgan не спешит отказываться от Python 2), а также финансовые фирмы, использующие этот язык для анализа данных.

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

По словам Джеффри Райана, бывшего аналитика в Citadel Джеффри Райана, из-за «снижения производительности» в Python, который сейчас работает «фрилансером», он обычно используется в тех случаях, когда скорость не так важна, как простота создания кода.

По словам Райана, двукратное увеличение скорости Python не будет иметь большого значения для финансов. «Большинство материалов Python, требующих больших вычислительных ресурсов, уже написаны внутри C (или C++/Fortran) — например, BLAS/LAPACK/NumPy/TensorFlow», — отмечает он. «Если важна абсолютная производительность, вы, вероятно, будете кодировать ее на C/++ и обернете в Python, как это делают эти библиотеки».

Райан полагает, что даже если Python станет значительно быстрее в 2022 году и далее, банки и другие финансовые учреждения будут медлить с переходом на новую версию. «Переход от 2.X к 3.X был слишком болезненным и свежим для большинства людей, чтобы пройти его снова», — говорит он. «Во всяком случае, я думаю, что это заставит многих полностью пересмотреть использование Python и обратиться к другим языкам, которые имеют больше смысла, таким как Julia или Golang».

Однако, если мы думаем не только о крупных банках, увеличение скорости в 2-3 раза может иметь большое значение для специалистов по обработке и анализу данных и других лиц, которые создают сценарии, выполнение которых занимает некоторое время, предполагая, что ограничение не связано с вводом/выводом. Однако в этих случаях возможно увеличение скорости при работе с входными файлами разных типов. Файлы CSV читаются намного быстрее, чем файлы Excel, а файлы parquet или pickle еще быстрее. Короче говоря, кто хочет ждать, я приму любые улучшения скорости, которые я могу получить, но если бы я был крупным банком, я мог бы медленно адаптироваться, учитывая, что на карту были бы поставлены миллиарды долларов.

Надеюсь, вам понравилось это читать. Если вы хотите поддержать меня как писателя, рассмотрите возможность подписки стать участником Medium. Всего 5 долларов в месяц, и вы получаете неограниченный доступ к Medium.

Бесплатные наличные: подпишитесь на эту карту Capital One и заработайте единовременный денежный бонус в размере 200 долларов США, потратив 500 долларов США на покупки в течение 3 месяцев с момента открытия счета: https://capital.one/3DRIBSG

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Присоединяйтесь к нашему сообществу Discord.