Делаем Python в 100 раз быстрее, используя менее 100 строк Rust
Некоторое время назад в $work у нас возникла проблема с производительностью одной из наших основных библиотек Python.
Именно эта библиотека составляет основу нашего конвейера 3D-обработки. Это довольно большая и сложная библиотека, которая использует NumPy и другие научные пакеты Python для выполнения широкого спектра математических и геометрических операций.
Нашей системе также приходится работать в режиме реального времени с ограниченными ресурсами процессора, и хотя поначалу она работала хорошо, по мере роста числа одновременных физических пользователей мы начали сталкиваться с проблемами, и наша система с трудом справлялась с нагрузкой.
Мы пришли к выводу, что нам необходимо сделать нашу систему как минимум в 50 раз быстрее, чтобы справляться с возросшей рабочей нагрузкой, и мы решили, что Rust может помочь нам достичь этого.
Поскольку проблемы с производительностью, с которыми мы столкнулись, довольно распространены, мы можем воссоздать и решить их прямо здесь, в (не такой уж короткой) статье.
Итак, выпейте чашечку чая (или кофе), и я расскажу вам (а) об основной проблеме и (б) о нескольких вариантах оптимизации, которые мы можем применить для решения этой проблемы.
https://ohadravid.github.io/posts/2023-03-rusty-python/
Post #1042
600