Pull to refresh

Comments 12

Если выбрать оптимизирующий компилятор, подойди к задаче с умом и реализовать оптимальные алгоритмы. То получим отличную производительность. И процессор не будет лишний раз греть воздух исполняя лишние миллиарды инструкций.

30 лет назад, этот был единственным вариантом создания программы.

Спасибо за статью.

Интересно посмотреть скорость исполнения на Cython по сравнению с Rust.

Видел вот такое сравнение :

Эксперимент по сравнению производительности Rust с Cython.

Тестируемый алгоритм представляет собой оптимизированную для памяти версию алгоритма Тарьяна с сильно связанными компонентами. Этот алгоритм, разработанный Пирсом, минимизирует объем вспомогательной памяти, необходимый для запуска алгоритма, что делает его особенно подходящим для больших графиков.

А это результат:

Я понимаю, что это не цель статьи и не цель исследования, но можно было немного подумать о математике процесса и решить задачу без полного перебора:)

Достаточно всего лишь правильно поставить задачу оптимизации. По факту хочется построить линейную регрессию на ответах пользователей, как на фичах с ограничением по количеству используемых фичей в 5. Это немного модифицированная линейная регрессия с L1 регуляризацией.

Программа на компилируемом языке работает быстрее чем на интрепретируемом. Надо же, кто бы мог подумать

Было бы интересно увидеть сравнение производительности с JAX и/или Numba, а так ни о чем статья

Программа на компилируемом языке работает быстрее чем на интрепретируемом.

…примерно в 8 раз (из статьи: «Новый внутренний цикл выполняется за 4,2 мс, что примерно в 8 раз быстрее базовой Python-версии.») Дальше уже идут не просто отличия «интерпретируемый vs компилируемый». Вывод: комментарий ни о чём.

Удивительное чувство, когда от вида всего этого кода на Rust хочется блевать.
Особенно от кавычек, <'a <'a> и ||. Может там и смайлики ещё есть ? (**) |^_^|
Какой воспалённый мозг надо было иметь, чтобы это придумать ?

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

Да, вы правы. Это недочёт переноса кода из оригинала. Исправил. Пардон за неудобство

статья немного вводит в заблуждение, что одним переходом на rust добились таких результатов. Есть другая опровергающая это статья, где добились таких же результатов

https://sidsite.com/posts/python-corrset-optimization/

О том и речь, исходная статья не про то как переходом на Rust ускориться в 180 000 раз, а о том, как оптимизацией алгоритма ускориться в 22 500 раз.

А вторая статья про оптимизацию исходного кода на Python и в конечном итоге переходу на Numba. Результат примерно тот же самый (170 000 vs 180 0000). Что не удивительно поскольку и у Rust и у Numba под капотом LLVM.

Спасибо за ссылочку, очень интересный материал, у автора помимо этого еще есть что почитать.

Sign up to leave a comment.