Obserwuję niespójną szybkość danych. Tabelę funkcji fread. Mam 2 pliki o rozmiarze ~ 8 GB. Zawartość plików jest (prawie) taka sama. Czas na odczyt dwóch plików jest dziwnie inny.R fread data.table niespójna prędkość
control.major <- fread("control.major.gff")$V6
Read 19.8% of 98100000 rows
Read 98100000 rows and 10 (of 10) columns from 7.947 GB file in 02:06:58
control.minor <- fread("control.minor.gff")$V6
Read 98100000 rows and 10 (of 10) columns from 7.947 GB file in 00:03:15
Muszę przeczytać 6. kolumnę plików, które są wszystkie numeryczne. Początkowo okazało się, że fread był szybszy w porównaniu do
scan(pipe("cut -f6 SNP.major.gff"), sep="\n")
Ponieważ funkcja cięcia zajmowała strasznie dużo czasu.
Dlaczego występuje niespójne zachowanie się fred? Czy istnieje szybszy sposób odczytu jednej kolumny?
Zgaduję, że drugie polecenie jest wolne z powodu 'skanowania', a nie z powodu' cut', więc spróbowałem 'fread ('cut -f6 SNP.major.gff')' zamiast tego – eddi
przy okazji czas brzmi szalenie długo - 2 godziny ?! - Być może uda ci się bardziej wyizolować problem i spróbować zobaczyć, czy dostajesz długi czas z niewielką częścią tego pliku. – eddi
@eddi Nie sądzę, aby różnica między skanowaniem a robieniem była większa niż czas wykonania cięcia. Jego cięcie jest znacznie wolniejsze. – vinash85