Quelqu'un a-t-il fait des repères?
Oui, la référence que vous avez liée dans votre question a été récemment mise à jour pour la version récente de data.table et pandas. De plus, d'autres logiciels ont été ajoutés. Vous pouvez trouver un benchmark mis à jour sur https://h2oai.github.io/db-benchmark
Malheureusement, il est prévu sur une machine à mémoire de 125 Go (pas 244 Go comme l'original). Par conséquent, les pandas et les utilisateurs ne peuvent pas essayer de données groupby
sur 1e9 lignes (50 Go csv) car ils manquent de mémoire lors de la lecture des données. Donc, pour les pandas vs data.table, vous devez regarder les données de 1e8 lignes (5 Go).
Pour ne pas simplement lier le contenu que vous demandez, je colle des timings récents pour ces solutions.
veuillez noter que ces horaires sont obsolètes,
visitez https://h2oai.github.io/db-benchmark pour les horaires mis à jour
| 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|
Dans 4 questions sur 5, data.table est plus rapide et nous pouvons le voir évoluer mieux.
Notez juste cette timings sont d'ores et déjà , où id1
, id2
et id3
sont des champs de caractère. Ceux - ci seront bientôt changé catégorique DONE . En outre, il existe d'autres facteurs qui sont susceptibles d'avoir un impact sur ces délais dans un avenir proche (comme le regroupement en parallèle FAIT ). Nous allons également ajouter des références distinctes pour les données ayant des NA et diverses cardinalités FAITES .
D' autres tâches arrivent à ce projet continu d'analyse comparative , donc si vous êtes intéressé par join
, sort
, read
et d' autres assurez - vous de le vérifier plus tard.
Et bien sûr, vous êtes invités à fournir des commentaires dans le repo du projet!