Кто-нибудь делал какие-либо тесты?
Да, эталонный тест, который вы указали в своем вопросе, был недавно обновлен для последней версии data.table и pandas. Дополнительно было добавлено другое программное обеспечение. Вы можете найти обновленный эталонный тест по адресу https://h2oai.github.io/db-benchmark.
К сожалению, он запланирован на 125 ГБ памяти (а не на 244 ГБ как оригинал). В результате pandas и dask не могут сделать попытку данных groupby
на 1e9 строк (50GB csv), потому что им не хватает памяти при чтении данных. Так что для панд против data.table вы должны посмотреть на данные 1e8 строк (5 ГБ).
Чтобы не просто связать контент, который вы запрашиваете, я вставляю последние сроки этих решений.
пожалуйста, обратите внимание, что эти сроки устарели,
посетите https://h2oai.github.io/db-benchmark для получения обновленных таймингов.
| in_rows|question | data.table| pandas|
|-------:|:---------------------|----------:|------:|
| 1e+07|sum v1 by id1 | 0.140| 0.414|
| 1e+07|sum v1 by id1:id2 | 0.411| 1.171|
| 1e+07|sum v1 mean v3 by id3 | 0.574| 1.327|
| 1e+07|mean v1:v3 by id4 | 0.252| 0.189|
| 1e+07|sum v1:v3 by id6 | 0.595| 0.893|
| 1e+08|sum v1 by id1 | 1.551| 4.091|
| 1e+08|sum v1 by id1:id2 | 4.200| 11.557|
| 1e+08|sum v1 mean v3 by id3 | 10.634| 24.590|
| 1e+08|mean v1:v3 by id4 | 2.683| 2.133|
| 1e+08|sum v1:v3 by id6 | 6.963| 16.451|
| 1e+09|sum v1 by id1 | 15.063| NA|
| 1e+09|sum v1 by id1:id2 | 44.240| NA|
| 1e+09|sum v1 mean v3 by id3 | 157.430| NA|
| 1e+09|mean v1:v3 by id4 | 26.855| NA|
| 1e+09|sum v1:v3 by id6 | 120.376| NA|
В 4 из 5 вопросов data.table быстрее, и мы видим, что он лучше масштабируется.
Сразу отмечу , это тайминги как сейчас , где id1
, id2
и id3
являются символьными полями. Те будут изменены скоро категоричен DONE . Кроме того, существуют другие факторы, которые могут повлиять на эти временные параметры в ближайшем будущем (например, группирование в параллельном режиме DONE ). Мы также собираемся добавить отдельные контрольные показатели для данных, имеющих NA , и различного кардинальности DONE .
Другие задачи , приходят к этому непрерывному проекту бенчмаркинг , так что если вы заинтересованы в том join
, sort
, read
и других , не забудьте проверить его позже.
И, конечно же, вы можете оставить отзыв в репо проекта!