
Комментарии 10
Мне одному кажется, что если вам важны миллисекунды, то вы будете писать не на Питоне?
Информация полезная, но повторяется по нескольку раз.
Прям интересно стало узнать о диапазоне значений, которые принимают числа, размерами в десятки байт! Они такие большие или там просто много оверхеда поверх объектов, которые позволяют создавать эти значения. P. S. AI говорит, что для числа, например, Small int, структура которого имеет размер 28 байт полезные данные только 4 байта, т. е. это обычный int на 32 битной машине.
Интересно, в какой момент складывать float стало быстрее, чем int. С момента перехода на Python разве что. На уровне операций без питоновских обёрток в том же C сравнение в другую сторону сильно.
Питон это инструмент оркестровки специализированных компонент. Любое иное его использование в продуктовой среде, это ошибка или вынужденное зло.
Примеры нормального использования:
DAG в Airflow
Cкрипт, 99% времени которого приходится на выполнение методов ML-библиотеки (scikit-learn, TensorFlow, PyTorch и др.)
Скрипт Spark application
Задачи перекладывания данных. Типа взять данные от одного компонента, изменить формат и отдать в другой к компонент. В таких задачах 99% времени тратиться на передачу по сети, работы с файлами или базой данных.
Разные утилитные скрипты для администрирования систем. Например, скрипты CI/CD.
Разовые скрипты обработки файлов. Ну там, убрать из csv особые символы, которые модуль импорта в БД не может обработать. Распарсить файл архива электронных писем и затем положить их в БД.
UDF функции, для расширения состава функций БД, где не хватает возможностей родного языка программирования БД.
От версии к версии Python затраты на операции могут значительно меняться. Тем более сильно может все измениться, если вы используете "ускорители" типа PyPy или Numba.
Поэтому главное, чтобы код выглядел хорошо (главное, понятно выглядело), без явно неоптимальных конструкций. Типа, где можно циклом или itertools посчитать, не надо рекурсию использовать.
Замеры на мак с процессором арм...
Параметры Python, которые должен знать питонист