Das Lesen von CSV in Julia ist im Vergleich zu Python langsam

Das Lesen großer Text- / CSV-Dateien in Julia nimmt im Vergleich zu Python viel Zeit in Anspruch. Hier sind die Zeiten, um eine Datei mit einer Größe von 486,6 MB und 153895 Zeilen und 644 Spalten zu lesen.

Python 3.3 Beispiel

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 Beispiel

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) Beispiel # 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) Beispiel # 2

timing = @time myData = readdlm("C:/myFile.txt",'|',header=false)

Output:
elapsed time: 65.96 seconds (9087413564 bytes allocated)

Julia ist schneller als R, aber im Vergleich zu Python ziemlich langsam. Was kann ich anders machen, um das Lesen einer großen Textdatei zu beschleunigen?

Ein anderes Problem ist, dass die Größe im Arbeitsspeicher in Julia 18 x, in Python jedoch nur 2,5 x beträgt. In Matlab, das sich für große Dateien als speichereffizient erwiesen hat, entspricht es der doppelten Größe der Festplattendateigröße. Gibt es einen bestimmten Grund für die große Dateigröße im Speicher in Julia?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage