ler csv em Julia é lento em comparação com Python
A leitura de grandes arquivos de texto / csv em Julia leva muito tempo em comparação com o Python. Aqui estão os horários para ler um arquivo cujo tamanho é 486,6 MB e possui 153895 linhas e 644 colunas.
exemplo 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
Exemplo do 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
Jul, ia 0.2.0 (Julia Studio 0.4.4) exemplo # 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) exemplo # 2
timing = @time myData = readdlm("C:/myFile.txt",'|',header=false)
Output:
elapsed time: 65.96 seconds (9087413564 bytes allocated)
Julia é mais rápida que R, mas bastante lenta em comparação com Python. O que posso fazer de diferente para acelerar a leitura de um arquivo de texto grande?
um problema separado é o tamanho da memória: 18 x o tamanho do arquivo do disco rígido em Julia, mas apenas 2,5 x o tamanho para python. no Matlab, que eu achei mais eficiente em termos de memória para arquivos grandes, ele tem 2 x o tamanho do tamanho do arquivo do disco rígido. Algum motivo específico para o grande tamanho de arquivo na memória de Julia?