BMLL показала, как Polars справляется с масштабными market-data нагрузками, где pandas уже начинает тормозить.
Главное из тестов:
- один день торгов по 11 000+ американских бумаг: 4,3 секунды на загрузку против примерно 3,5 минут у pandas;
- это около 48× быстрее;
- 94 ГБ данных Шанхайской биржи: загрузка,
as-of join и классификация примерно за 36 секунд;- более 1,5 ТБ данных за 16 торговых дней: финальная агрегация примерно за 3 минуты.
Почему Polars так хорошо масштабируется:
- lazy execution;
- эффективные
as-of join;- использование всех CPU-ядер;
- работа с полным датасетом без необходимости заранее вырезать выборку.
Все тесты запускались на одной машине с 192 CPU cores и 1,5 ТБ RAM.
Для quant и data engineering это хороший пример того, насколько сильно выбор dataframe-движка влияет на время анализа.
Статья:
https://pola.rs/posts/case-bmll/
