Pull to refresh

Comments 9

Пожалуйста, никогда не используйте логарифмические шкалы в сравнениях, они очень плохо считываются. Например в первом графике из-за этого кажется, будто разница всего в 2 раза, хотя по тексту видно, что результаты отличаются на порядки.
И добавлю еще, что для читаемости графиков было бы удобнее использовать одинаковое цветокодирование, а то Pandas apply то зеленый, то синий, то оранжевый.
Учту на будущее, спасибо
Да, вы правы, на 1ом графике разница кажется небольшой, хотя на самом деле порядки величин отличаются очень сильно. Я попытался как-то сгладить этот момент, добавив числа, но толку видимо немного.Для того же графика Numba без логарифмической шкалы его результат был просто полоской снизу
В какой то момент я перевел всю задачу в Pandas на параллельность — все тяжелые, как мне казалось, места. Да — получил ускорение, где-то даже больше ожидаемого, НО отлаживаться стало гораздо, горяздо тяжелее.

Этот фактор заставил меня искать другие способы оптимизации и морально я уже готов к откату от параллельности. В одной иностранной статье прочитал как раз по этому поводу очень хорошую фразу — «переходи на параллельность, только когда все другие способы оптимизации исчерпаны, а требуемый результат всё ещё очень далек.»

По поводу же apply, есть такая статья How to simply make an operation on pandas DataFrame faster, которая дает больше альтернативных вариантов по замене apply, чем данная статья, при этом и сам прямой numpy дает очень хорошие показатели.
Приходить к оптимизации путем распараллеливания конечно же надо только после того, как все остальные средства исчерпаны и статья именно об этом, полностью согласен. Но методы, описываемые в статье, по большей части рассчитаны на уменьшение оверхеда некоторых функций пандас (например iterrows ) и если основная нагрузка находится в вычислениях, а не в итерации, то замена на тот же itertuples может не спасти
Буду ждать сказа о Modin — хочу присмотреться к нему, как альтернативе параллельности для pandas в принципе. Смотрю он активно поддерживается и заявленное покрытие функциональности панд — в среднем 80%, кроме read.
Sign up to leave a comment.

Articles