Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- library(data.table)
- library(profmem)
- library(nycflights13)
- dt <- rbindlist(replicate(100L, flights, FALSE))
- setkey(dt, month, hour, arr_delay)
- object.size(dt) # 4041516584 bytes ~ 3.76 GB
- df <- copy(dt)
- dt2 <- copy(dt)
- setDF(df)
- # data.table
- profmem({
- dt <- dt[month < 5]
- dt <- dt[hour > 6]
- dt <- dt[arr_delay > 0]
- })
- # total 3546226792 bytes ~ 3.3 GB
- # data.frame
- profmem({
- df <- df[df$month < 5, ]
- df <- df[df$hour > 6, ]
- df <- df[df$arr_delay > 0, ]
- })
- # total 10471614192 bytes ~ 9.75 GB
- # best case
- profmem({
- dt2 <- dt2[eval("month < 5 & hour > 6 & arr_delay > 0")]
- })
- # total 32944 ~ 32.17 KB
Advertisement
Add Comment
Please, Sign In to add comment