Hoffentlich kommt gleich jemand aus dem Busch gesprungen und schreit "mit C läuft das schneller!" oder "mit MATLAB läuft das schneller!".
Mein Brot- und Buttergeschäft ist zur Zeit die Auswertung von vergleichsweise großen Datenmengen, welche im Ursprung in einer PostgreSQL-Datenbank lagern. Um nicht jedesmal mehrere 10GB über das Netzwerk abfragen zu müssen, habe ich den für mich relevanten Datenberg als HDF5 mit PyTables lokal und komprimiert abgespeichert - gelegentlich ziehe ich dann die neuesten Daten aus der Datenbank und packe die dann auf diesen Berg oben drauf, welcher sich noch im einstelligen GB-Bereich bewegt. Ausgepackt passt er aber nicht mehr in den RAM meiner Workstation.
Per Pandas / PyTables kann ich nun einfach den Teilbereich des Bergs selektieren, welcher mich für eine bestimmte Auswertung konkret interessiert und bequem abarbeiten. Als Resultat erhalte ich ein IPython Notebook / PDF.
Zu diesem Usecase meine Fragestellungen: 1. Wie mache ich das am Besten mit C / C++ um den genannten Faktor 50 - 150 an Geschwindigkeit herauszuholen? Das würde mir Gedenkpausen im Bereich von etwa 30 Minuten am Tag einsparen - nicht am Stück aber in Summe. 2. Wenn dies mit C zu umständlich sein sollte - wie mache ich das mit MATLAB? Selektive Datenabfrage über den Store scheint nur Zeilenweise aus einem *.csv-File zu funktionieren - so zumindest unsere MATLAB-Freunde in der Firma.
3. Und das ist der eigentliche Bezug zu PyPy -> Da PyPy jetzt auch Pandas / Numpy kann: Gibt es schon einen Benchmarkvergleich, welcher typische Pandas-Workflows unter PyPY und Intelpython vergleicht? Im Rahmen des Scientific Computing hat Intelpython ja schon eine ordentliche Schippe an Performancegewinn drauf gelegt. Bietet PyPy dennoch einen Mehrwert?
Hoffentlich kommt gleich jemand aus dem Busch gesprungen und schreit "mit C läuft das schneller!" oder "mit MATLAB läuft das schneller!".
Mein Brot- und Buttergeschäft ist zur Zeit die Auswertung von vergleichsweise großen Datenmengen, welche im Ursprung in einer PostgreSQL-Datenbank lagern. Um nicht jedesmal mehrere 10GB über das Netzwerk abfragen zu müssen, habe ich den für mich relevanten Datenberg als HDF5 mit PyTables lokal und komprimiert abgespeichert - gelegentlich ziehe ich dann die neuesten Daten aus der Datenbank und packe die dann auf diesen Berg oben drauf, welcher sich noch im einstelligen GB-Bereich bewegt. Ausgepackt passt er aber nicht mehr in den RAM meiner Workstation.
Per Pandas / PyTables kann ich nun einfach den Teilbereich des Bergs selektieren, welcher mich für eine bestimmte Auswertung konkret interessiert und bequem abarbeiten. Als Resultat erhalte ich ein IPython Notebook / PDF.
Zu diesem Usecase meine Fragestellungen:
1. Wie mache ich das am Besten mit C / C++ um den genannten Faktor 50 - 150 an Geschwindigkeit herauszuholen? Das würde mir Gedenkpausen im Bereich von etwa 30 Minuten am Tag einsparen - nicht am Stück aber in Summe.
2. Wenn dies mit C zu umständlich sein sollte - wie mache ich das mit MATLAB? Selektive Datenabfrage über den Store scheint nur Zeilenweise aus einem *.csv-File zu funktionieren - so zumindest unsere MATLAB-Freunde in der Firma.
3. Und das ist der eigentliche Bezug zu PyPy -> Da PyPy jetzt auch Pandas / Numpy kann: Gibt es schon einen Benchmarkvergleich, welcher typische Pandas-Workflows unter PyPY und Intelpython vergleicht? Im Rahmen des Scientific Computing hat Intelpython ja schon eine ordentliche Schippe an Performancegewinn drauf gelegt. Bietet PyPy dennoch einen Mehrwert?