So sánh thời gian đọc tệp CSV và RDS
Một trong những việc bạn thường làm là đọc dữ liệu từ các tệp CSV. Tuy nhiên, với các tệp CSV lớn, thao tác này có thể chậm.
Một mẹo hay là đọc dữ liệu rồi lưu thành tệp nhị phân của R (rds) bằng saveRDS().
Để đọc tệp rds, bạn dùng readRDS().
Lưu ý: Vì rds là định dạng gốc của R để lưu trữ một đối tượng đơn lẻ, bạn không thêm bất kỳ phụ thuộc bên thứ ba nào có thể thay đổi trong tương lai.
Để benchmark hai cách tiếp cận, bạn có thể dùng system.time().
Hàm này trả về thời gian cần để đánh giá bất kỳ biểu thức R nào. Ví dụ, để đo thời gian tính căn bậc hai của các số từ một đến mười triệu, bạn viết như sau:
system.time(sqrt(1:1e7))
Bài tập này là một phần của khóa học
Viết mã R hiệu quả
Hướng dẫn bài tập
Hai tệp "movies.csv" và "movies.rds" đều chứa cùng một data frame với thông tin về 45.000 bộ phim.
- Dùng hàm
system.time(), mất bao lâu để đọc tệp CSV bằngread.csv("movies.csv"). - Lặp lại với tệp rds,
"movies.rds"bằng cách dùngreadRDS().
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# How long does it take to read movies from CSV?
system.time(read.csv(___))
# How long does it take to read movies from RDS?
___