Comparer les temps de lecture des fichiers CSV et RDS
L’une des tâches les plus courantes consiste à lire des données depuis des fichiers CSV. Cependant, pour de gros CSV, cela peut être lent.
Une astuce consiste à lire les données puis à les enregistrer en fichier binaire R (rds) avec saveRDS().
Pour relire le fichier rds, on utilise readRDS().
Remarque : comme rds est le format natif de R pour stocker des objets uniques, vous n’introduisez aucune dépendance tierce susceptible d’évoluer à l’avenir.
Pour comparer les deux approches, vous pouvez utiliser system.time().
Cette fonction renvoie le temps nécessaire pour évaluer n’importe quelle expression R. Par exemple, pour mesurer le temps de calcul de la racine carrée des nombres de un à dix millions, vous écririez :
system.time(sqrt(1:1e7))
Cet exercice fait partie du cours
Écrire du code R efficace
Instructions
Les fichiers "movies.csv" et "movies.rds" contiennent tous deux des data frames identiques avec des informations sur 45 000 films.
- À l’aide de la fonction
system.time(), combien de temps faut-il pour lire le fichier CSV avecread.csv("movies.csv")? - Répétez l’opération pour le fichier rds,
"movies.rds", en utilisantreadRDS().
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# How long does it take to read movies from CSV?
system.time(read.csv(___))
# How long does it take to read movies from RDS?
___