В наборе тестов USENIX приложения на CPython оказались в среднем в 29,5 раза медленнее тех же программ на C++. При этом Python держит первое место в рейтинге TIOBE, опережая C, C++ и Java, и остаётся основным инструментом машинного обучения. Парадокс на первый взгляд серьёзный: язык, который проигрывает конкурентам по скорости, возглавил сферу, где всё упирается в вычисления.

Разгадка проста, пишет Хабр: тяжёлую математику Python делает не сам. Один вызов на Python способен запустить перемножение матриц из миллионов элементов, а вся нагрузка при этом ложится на скомпилированное ядро на C++ или CUDA. В такой работе программа большую часть времени проводит за пределами самого Python.

Иными словами, медленный интерфейс управляет быстрым движком. Python удобен для описания логики, а скорость обеспечивают библиотеки, написанные на компилируемых языках. Поэтому место в рейтинге TIOBE и позиции в машинном обучении не противоречат результатам USENIX — они просто измеряют разные вещи.

Источник: Telegram: Хабр

Понравился материал?
Подписывайтесь — так вы не пропустите новые.
RSS-лента

Комментарии

Будьте вежливы — это делает обсуждение лучше

Пока нет комментариев — будьте первым.