I am experiencing slow speeds with the new version of fread.
CRAN version
library(data.table)
system.time({all_polygons <- lapply(dir(pattern = "\\.csv$"), fread)})
Read 4394767 rows and 7 (of 7) columns from 0.222 GB file in 00:00:08
Read 1379467 rows and 7 (of 7) columns from 0.068 GB file in 00:00:03
Read 1407213 rows and 7 (of 7) columns from 0.069 GB file in 00:00:03
Read 1834016 rows and 7 (of 7) columns from 0.091 GB file in 00:00:04
user system elapsed
19.20 0.08 19.28
Dev version (same code), installed today
Read 4394767 rows x 7 columns from 0.222GB file in 01:30.924 wall clock time (can be slowed down by any other open apps even if seemingly idle)
Read 1379467 rows x 7 columns from 0.068GB file in 00:28.938 wall clock time (can be slowed down by any other open apps even if seemingly idle)
Read 416937 rows x 7 columns from 0.020GB file in 00:08.594 wall clock time (can be slowed down by any other open apps even if seemingly idle)
Read 1407213 rows x 7 columns from 0.069GB file in 00:29.412 wall clock time (can be slowed down by any other open apps even if seemingly idle)
Read 1834016 rows x 7 columns from 0.091GB file in 00:38.512 wall clock time (can be slowed down by any other open apps even if seemingly idle)
Read 1028604 rows x 7 columns from 0.051GB file in 00:21.361 wall clock time (can be slowed down by any other open apps even if seemingly idle)
user system elapsed
2543.06 1.08 223.93
Similarly, with the DT example provided in ?fread:
CRAN
system.time({fread("DT.csv")})
user system elapsed
1.67 0.00 1.73
Dev:
Read 1000000 rows x 6 columns from 0.050GB file in 00:15.523 wall clock time (can be slowed down by any other open apps even if seemingly idle)
user system elapsed
177.96 0.01 15.53
I did have other programs open. Is it expected that having any program open would result in such a reduction in speed?
sessionInfo()
R version 3.3.3 (2017-03-06)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
With verbose = TRUE. First 1.10.4, then 1.10.5
> library(data.table)
data.table 1.10.4
The fastest way to learn (by data.table authors): https://www.datacamp.com/courses/data-analysis-the-data-table-way
Documentation: ?data.table, example(data.table) and browseVignettes("data.table")
Release notes, videos and slides: http://r-datatable.com
> sessionInfo()
R version 3.3.3 (2017-03-06)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
locale:
[1] LC_COLLATE=English_Australia.1252 LC_CTYPE=English_Australia.1252
[3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C
[5] LC_TIME=English_Australia.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] data.table_1.10.4
loaded via a namespace (and not attached):
[1] tools_3.3.3
> fread("DT.csv", verbose = TRUE)
Input contains no \n. Taking this to be a filename to open
File opened, filesize is 0.049546 GB.
Memory mapping ... ok
Detected eol as \r\n (CRLF) in that order, the Windows standard.
Positioned on line 1 after skip or autostart
This line is the autostart and not blank so searching up for the last non-blank ... line 1
Detecting sep ... ','
Detected 6 columns. Longest stretch was from line 1 to line 30
Starting data input on line 1 (either column names or first row of data). First 10 characters: a,b,c,d,e,
All the fields on line 1 are character fields. Treating as the column names.
Count of eol: 1000001 (including 1 at the end)
Count of sep: 5000000
nrow = MIN( nsep [5000000] / (ncol [6] -1), neol [1000001] - endblanks [1] ) = 1000000
Type codes (point 0): 113431
Type codes (point 1): 113431
Type codes (point 2): 113431
Type codes (point 3): 113431
Type codes (point 4): 113431
Type codes (point 5): 113431
Type codes (point 6): 113431
Type codes (point 7): 113431
Type codes (point 8): 113431
Type codes (point 9): 113431
Type codes (point 10): 113431
Type codes: 113431 (after applying colClasses and integer64)
Type codes: 113431 (after applying drop or select (if supplied)
Allocating 6 column slots (6 - 0 dropped)
Read 1000000 rows. Exactly what was estimated and allocated up front
0.000s ( 0%) Memory map (rerun may be quicker)
0.000s ( 0%) sep and header detection
0.148s ( 9%) Count rows (wc -l)
0.016s ( 1%) Column type detection (100 rows at 10 points)
0.098s ( 6%) Allocation of 1000000x6 result (xMB) in RAM
1.408s ( 84%) Reading data
0.000s ( 0%) Allocation for type bumps (if any), including gc time if triggered
0.000s ( 0%) Coercing data already read in type bumps (if any)
0.001s ( 0%) Changing na.strings to NA
1.671s Total
a b c d e f
1: 899 707 1.3258750 baz -0.45269512 145
2: 435 NA 0.3934530 foo Inf 707
3: 770 875 0.6292662 -Inf 574
4: 566 515 NA quux -0.60283779 421
5: 982 737 0.6028758 1.10495280 663
---
999996: 776 115 -0.1153838 quux 0.63482317 983
999997: 313 926 -0.8554561 qux 0.05537117 261
999998: 251 242 0.6270674 foo 1.71461292 340
999999: 614 722 1.0111390 bar 1.60265119 668
1000000: 684 399 1.3670426 quux -1.33576393 811
(Restart R.)
remove.packages("data.table")
install.packages("data.table", type = "source",
+ repos = "http://Rdatatable.github.io/data.table") # Then install devel version
trying URL 'http://Rdatatable.github.io/data.table/src/contrib/data.table_1.10.5.tar.gz'
Content type 'application/octet-stream' length 3094360 bytes (3.0 MB)
downloaded 3.0 MB
* installing *source* package 'data.table' ...
** libs
*** arch - i386
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c assign.c -o assign.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c between.c -o between.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c bmerge.c -o bmerge.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c chmatch.c -o chmatch.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c dogroups.c -o dogroups.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c fastmean.c -o fastmean.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c fcast.c -o fcast.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c fmelt.c -o fmelt.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c forder.c -o forder.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c frank.c -o frank.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c fread.c -o fread.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c fsort.c -o fsort.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c fwrite.c -o fwrite.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c gsumm.c -o gsumm.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c ijoin.c -o ijoin.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c init.c -o init.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c inrange.c -o inrange.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c openmp-utils.c -o openmp-utils.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c quickselect.c -o quickselect.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c rbindlist.c -o rbindlist.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c reorder.c -o reorder.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c shift.c -o shift.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c subset.c -o subset.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c transpose.c -o transpose.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c uniqlist.c -o uniqlist.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c vecseq.c -o vecseq.o
c:/Rtools/mingw_32/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O3 -Wall -std=gnu99 -mtune=core2 -c wrappers.c -o wrappers.o
c:/Rtools/mingw_32/bin/gcc -shared -s -static-libgcc -o data.table.dll tmp.def assign.o between.o bmerge.o chmatch.o dogroups.o fastmean.o fcast.o fmelt.o forder.o frank.o fread.o fsort.o fwrite.o gsumm.o ijoin.o init.o inrange.o openmp-utils.o quickselect.o rbindlist.o reorder.o shift.o subset.o transpose.o uniqlist.o vecseq.o wrappers.o -fopenmp -Ld:/Compiler/gcc-4.9.3/local330/lib/i386 -Ld:/Compiler/gcc-4.9.3/local330/lib -LC:/R/R-33~1.3/bin/i386 -lR
mv data.table.dll datatable.dll
if [ "Windows_NT" != "Windows_NT" ] && [ `uname -s` = 'Darwin' ]; then install_name_tool -id datatable.dll datatable.dll; fi
installing to C:/R/R-3.3.3/library/data.table/libs/i386
*** arch - x64
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c assign.c -o assign.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c between.c -o between.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c bmerge.c -o bmerge.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c chmatch.c -o chmatch.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c dogroups.c -o dogroups.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c fastmean.c -o fastmean.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c fcast.c -o fcast.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c fmelt.c -o fmelt.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c forder.c -o forder.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c frank.c -o frank.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c fread.c -o fread.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c fsort.c -o fsort.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c fwrite.c -o fwrite.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c gsumm.c -o gsumm.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c ijoin.c -o ijoin.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c init.c -o init.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c inrange.c -o inrange.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c openmp-utils.c -o openmp-utils.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c quickselect.c -o quickselect.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c rbindlist.c -o rbindlist.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c reorder.c -o reorder.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c shift.c -o shift.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c subset.c -o subset.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c transpose.c -o transpose.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c uniqlist.c -o uniqlist.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c vecseq.c -o vecseq.o
c:/Rtools/mingw_64/bin/gcc -I"C:/R/R-33~1.3/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -fopenmp -O2 -Wall -std=gnu99 -mtune=core2 -c wrappers.c -o wrappers.o
c:/Rtools/mingw_64/bin/gcc -shared -s -static-libgcc -o data.table.dll tmp.def assign.o between.o bmerge.o chmatch.o dogroups.o fastmean.o fcast.o fmelt.o forder.o frank.o fread.o fsort.o fwrite.o gsumm.o ijoin.o init.o inrange.o openmp-utils.o quickselect.o rbindlist.o reorder.o shift.o subset.o transpose.o uniqlist.o vecseq.o wrappers.o -fopenmp -Ld:/Compiler/gcc-4.9.3/local330/lib/x64 -Ld:/Compiler/gcc-4.9.3/local330/lib -LC:/R/R-33~1.3/bin/x64 -lR
mv data.table.dll datatable.dll
if [ "Windows_NT" != "Windows_NT" ] && [ `uname -s` = 'Darwin' ]; then install_name_tool -id datatable.dll datatable.dll; fi
installing to C:/R/R-3.3.3/library/data.table/libs/x64
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
*** arch - i386
*** arch - x64
* DONE (data.table)
The downloaded source packages are in
‘C:\Users\hughp\AppData\Local\Temp\RtmpEDgMmt\downloaded_packages’
> library(data.table)
> fread("DT.csv", verbose = TRUE)
Parameter na.strings == <<NA>>
None of the 1 na.strings are numeric (such as '-9999').
Input contains no \n. Taking this to be a filename to open
File opened, filesize is 0.049546 GB.
Memory mapping ... ok
Detected eol as \r\n (CRLF) in that order, the Windows standard.
Positioned on line 1 starting: <<a,b,c,d,e,f>>
Detecting sep ...
sep==','(ascii 44) with 101 lines of 6 fields using quote rule 0
Detected 6 columns on line 1. This line is either column names or first data row (first 30 chars): <<a,b,c,d,e,f>>
All the fields on line 1 are character fields. Treating as the column names.
Number of sampling jump points = 101 because 53199178 bytes from row 1 to eof / (2 * 5275 jump0size) == 5042
Type codes (jump 000) : 224542 Quote rule 0
Type codes (jump 100) : 224542 Quote rule 0
=====
Sampled 10049 rows (handled \n inside quoted fields) at 101 jump points including middle and very end
Bytes from first data row on line 2 to the end of last row: 53199178
Line length: mean=53.20 sd=1.44 min=36 max=59
Estimated nrow: 53199178 / 53.20 = 999979
Initial alloc = 1099977 rows (999979 + 10%) using bytes/max(mean-2*sd,min) clamped between [1.1*estn, 2.0*estn]
=====
Type codes (colClasses) : 224542
Type codes (drop|select) : 224542
Allocating 6 column slots (6 - 0 dropped)
Reading 60 chunks of 0.846MB (16666 rows) using 12 threads
Read 1000000 rows x 6 columns from 0.050GB file in 00:15.595 wall clock time (can be slowed down by any other open apps even if seemingly idle)
Final type counts
0 : drop
0 : logical
3 : integer
0 : integer64
2 : double
1 : character
Thread buffers were grown 0 times (if all 12 threads each grew once, this figure would be 12)
=============================
0.000s ( 0%) Memory map
0.000s ( 0%) sep, ncol and header detection
0.034s ( 0%) Column type detection using 10049 sample rows
0.103s ( 1%) Allocation of 1000000 rows x 6 cols (0.037GB) plus 0.007GB of temporary buffers
15.458s ( 99%) Reading data
0.000s ( 0%) Rereading 0 columns due to out-of-sample type exceptions
15.595s Total
a b c d e f
1: 899 707 1.3258750 baz -0.45269512 145
2: 435 NA 0.3934530 foo Inf 707
3: 770 875 0.6292662 -Inf 574
4: 566 515 NA quux -0.60283779 421
5: 982 737 0.6028758 1.10495280 663
---
999996: 776 115 -0.1153838 quux 0.63482317 983
999997: 313 926 -0.8554561 qux 0.05537117 261
999998: 251 242 0.6270674 foo 1.71461292 340
999999: 614 722 1.0111390 bar 1.60265119 668
1000000: 684 399 1.3670426 quux -1.33576393 811
I am experiencing slow speeds with the new version of fread.
CRAN version
Dev version (same code), installed today
Similarly, with the
DTexample provided in?fread:CRAN
Dev:
I did have other programs open. Is it expected that having any program open would result in such a reduction in speed?
sessionInfo()
R version 3.3.3 (2017-03-06)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
With
verbose = TRUE. First 1.10.4, then 1.10.5(Restart R.)