Чтение больших файлов text/csv в Julia занимает много времени по сравнению с Python. Вот время, чтобы прочитать файл размером 486,6 МБ и имеет 153895 строк и 644 столбца.
Пример python 3.3
import pandas as pd
import time
start=time.time()
myData=pd.read_csv("C:\\myFile.txt",sep="|",header=None,low_memory=False)
print(time.time()-start)
Output: 19.90
R 3.0.2 пример
system.time(myData<-read.delim("C:/myFile.txt",sep="|",header=F,
stringsAsFactors=F,na.strings=""))
Output:
User System Elapsed
181.13 1.07 182.32
Julia 0.2.0 (Julia Studio 0.4.4) пример # 1
using DataFrames
timing = @time myData = readtable("C:/myFile.txt",separator='|',header=false)
Output:
elapsed time: 80.35 seconds (10319624244 bytes allocated)
Julia 0.2.0 (Julia Studio 0.4.4) пример # 2
timing = @time myData = readdlm("C:/myFile.txt",'|',header=false)
Output:
elapsed time: 65.96 seconds (9087413564 bytes allocated)
-
Джулия быстрее, чем R, но довольно медленная по сравнению с Python. Что я могу сделать по-другому, чтобы ускорить чтение большого текстового файла?
-
отдельная проблема заключается в том, что размер в памяти составляет 18 x размер файла жесткого диска в Julia, но всего 2,5 x для python. в Matlab, который, как я обнаружил, имеет большую память для больших файлов, размер файла жесткого диска составляет 2 x. Любая конкретная причина для большого размера файла в памяти в Julia?