Как перестать плакать над медленным Python: пишем инъекцию на C++20, чтобы ускорить вычисления в 40 раз прямо в Google Colab
Привет, DTF! Все знают, что Python — прекрасный, удобный язык, пока дело не доходит до обработки миллионов объектов. В этот момент он превращается в ленивую улитку, жрёт гигабайты RAM и упирается в свой вечный GIL.
Обычно в этот момент программисты вздыхают и идут покупать дорогие сервера или облачные GPU. Но зачем, если можно сделать легальный чит-код?
Я взял ядро на C++20, упаковал векторные инструкции AVX2, пожал данные в bfloat16 и скрестил это с Python через pybind11.
Что получилось в итоге:
• Код пишется на Python, но под капотом работает со скоростью чистого ассемблера.
• Массив из 50 000 000 объектов пролетает за 1.2 секунды.
• Память не забивается, а бесплатный процессор Intel Xeon в Google Colab загружен на честные 100%.
Это как поставить двигатель от спорткара внутрь обычного семейного седана. И главное — всё работает прямо в облаке в одну ячейку, ничего настраивать вручную на девайсах не нужно.
Готовый шаблон и весь исходный код выложил в репозиторий:
👉 https://github.com/nlozkina19-crypto/vector-zero-compute
Залетайте, копируйте код к себе и запускайте тест. Как думаете, Python разработчикам пора учить плюсы, или ну его нафиг и проще дальше закидывать задачи деньгами? Пишите в комменты!