Von Opensourcler am Mo, 17. September 2018 um 18:02 #
LOL. Der Scheiß wurde OSS gemacht und dann erstmal auf eine M$ Plattform raufgeladen. Den Scheiß glaubt können die sich in den Arsch schieben. Als nächstes installioert das tool den Internet explorer mit wine!
Das ist ein gutes Beispiel warum Diversität im Endeffekt nur Schrott bringt.
Mit Octave haben wir schon eine schlechte und lahme MATLAB Kopie. Wozu investiert man noch Geld und baut einen zweiten schlechten Klon. Mittlerweile muss doch jeder Hohlkopf wissen, dass Ein-Mann-Armeen nie etwas sinnvolles hingenommen. Gerade bei Numerik muss man immer auf neueste Verfahren achten, sonst endet man bei der Geschwindigkeit wie das grottig lahme Octave.
Hätten sie lieber in Octave beigetragen und die tausende Bugs gefixt oder fehlende Funktionen nachimplementiert. Dann hätte die Gemeinschaft was davon.
Ich habe source-code für die GUI beigetragen, da 99% der Nutzer ohne eine GUI nie ein Programm auch nur testen werden.
Die Probleme von Octave sind allderings ziemlich tiefgreifend.
Es gibt zum Beispiel keine ad. hoc. funktionierende Doku wie die Sourcen unter Windows kompiliert werden. Hier und da wird in Foren geschrieben, dass es über den Cygwin-Rotz gehen soll. Also bleibt nichts übrigs als die Sourcen separat zu entwickeln und dann auf gut Glück in Savannah (Augenkrebs) zu commiten. Dann dauert es noch gefühlt ein Jahr bis die Maintainer drüberschauen.
Früher war die Kluft zwischen MATLAB und Octave sehr groß, heute ist sie unüberwindbar. Es ist praktisch eine Strafe mit Octave zu arbeiten wenn der Arbeitgeber auch das nötige Kleingeld für MATLAB hat. So wird es auch im Moment gemacht. Das Zeug wird unter MATLAB entwickelt. Wenn es schnell laufen soll, dann wird es kompiliert. Wenn es lahm sein soll und keine neueren Funktionen notwendig sind, dann läuft es beim Kunden als Octave-Script.
Altair ist eine Firma, die u.a. mit closed source (u.a. CAD und CAE) ihr Geld verdient.
Als weiteres Geschäftsfeld wollten sie einen MATLAB-clone rausbringen, der anscheinend kommerziell nicht erfolgreich war, und darum haben sie die Software freigegeben.
Die wollten Geld verdienen, nicht "für lau" zu Octave beitragen.
Ein gut konfiguriertes Python-Environment (NumPy, Scipy, Pandas, Scikit-learn, Tensorflow, ...) bietet alles was ein "Data Scientist" benötigt. Auch Bindings zu BigData-Frameworks wie Apache Spark oder Statistik-Paketen wie R sind verfügbar. Wer schon mal versucht hat eine Messdatendatei mit 2 Mio Zeilen mit Matlab auszuwerten, weiß wo von ich spreche
Bleib mal schön bei Fakten.MATLAB was Performance angeht derzeit Stand der Technik. Im Besonderen bei Data-Science Aufgaben.
Python ist da Ordnungen lahmer. Das einzige Problem ist, dass es in einer sinnvollen Konfiguration für Data Science im fünfstelligen Bereich liegt. Auf der anderen Seite gibst du bei Spark die gleiche Größenordnung für 3-4 Nodes aus.
PS: 2 Mio Zeilen ist erst einmal keine Einheit. Das allein ist schon ein Hinweis, dass du ein Poser bist.
Bsp: csv-Input-Datei mit 20 Feldern, Dateigröße ca. 65 MB MATLAB 8.4 (R2014b , Windows 7): fId = fopen( 'largeFile.csv' ) ; -> "unable to load file... Out of Memory" Python 3.5 (Windows 7, gleicher PC): df=pd.read_csv(...) -> nach ca. 10 sec eingelesen
Mir ist völlig schnuppe, ob Matlab die Datei in 5 sec. gelesen haben könnte wenn man nur mit Prealloc und chunks gearbeitet hätte. Fakt ist, Matlab konnte die Datei überhaupt nicht einlesen.
Mach dir bitte eine wenig mehr Mühe wenn du lügst.
Der von dir gepostete Code ist nicht einmal MATLAB. Du hast es irgendwo aus dem Internet kopiert ohne nachzudenken. Es ist praktisch eine Grundaufgabe von MATLAB große CSV Datein einzulesen oder zu parsen. Wenn du selbst das nicht vernünftig aus dem Stack-Overflow oder sonstiger schlechter Quelle kopieren kannst ist es deine Schuld.
Um ein Out of Memory (diese Meldung gibt es übrigens nicht einmal so) zu bekommen, müsste die Variable nicht in den Speicher passen. Bei 65 MB ist es unrealistisch. Selbst ein Computer mit 128 MB (!) RAM wird sie einlesen können.
Genau so ist es unrealistisch, dass Python für 65 MB 10 Sekunden braucht. Programmierst du etwa auf einem 386? Bei solch mikrigen Dateien ist es bei Python nicht einmal 1 Sekunde. Selbst mit langsamster Spindel-Festplatte.
LOL. Der Scheiß wurde OSS gemacht und dann erstmal auf eine M$ Plattform raufgeladen. Den Scheiß glaubt können die sich in den Arsch schieben. Als nächstes installioert das tool den Internet explorer mit wine!
Soll ich vorbeikommen und dir eine Einweisung verschreiben?
Was manche für eine Grütze schreiben.
Das ist ein gutes Beispiel warum Diversität im Endeffekt nur Schrott bringt.
Mit Octave haben wir schon eine schlechte und lahme MATLAB Kopie. Wozu investiert man noch Geld und baut einen zweiten schlechten Klon. Mittlerweile muss doch jeder Hohlkopf wissen, dass Ein-Mann-Armeen nie etwas sinnvolles hingenommen. Gerade bei Numerik muss man immer auf neueste Verfahren achten, sonst endet man bei der Geschwindigkeit wie das grottig lahme Octave.
Hätten sie lieber in Octave beigetragen und die tausende Bugs gefixt oder fehlende Funktionen nachimplementiert. Dann hätte die Gemeinschaft was davon.
Was trägst du zu Octave bei?
Ich habe source-code für die GUI beigetragen, da 99% der Nutzer ohne eine GUI nie ein Programm auch nur testen werden.
Die Probleme von Octave sind allderings ziemlich tiefgreifend.
Es gibt zum Beispiel keine ad. hoc. funktionierende Doku wie die Sourcen unter Windows kompiliert werden. Hier und da wird in Foren geschrieben, dass es über den Cygwin-Rotz gehen soll. Also bleibt nichts übrigs als die Sourcen separat zu entwickeln und dann auf gut Glück in Savannah (Augenkrebs) zu commiten. Dann dauert es noch gefühlt ein Jahr bis die Maintainer drüberschauen.
Früher war die Kluft zwischen MATLAB und Octave sehr groß, heute ist sie unüberwindbar. Es ist praktisch eine Strafe mit Octave zu arbeiten wenn der Arbeitgeber auch das nötige Kleingeld für MATLAB hat. So wird es auch im Moment gemacht. Das Zeug wird unter MATLAB entwickelt. Wenn es schnell laufen soll, dann wird es kompiliert. Wenn es lahm sein soll und keine neueren Funktionen notwendig sind, dann läuft es beim Kunden als Octave-Script.
Also ich benutze Octave Hobbymäßig unter Cygwin.
Aber eben die vorkompilierte Version die mit dem setup installiert werden, funktioniert auch.
Es sei den da sind unzählige weitere Libs die nachinstalliert werden müssen
ist zwar mühselig
aber dann ging das plotten immer.
Danke für deine Arbeit und die Infos!
Ich habe das so verstanden:
Altair ist eine Firma, die u.a. mit closed source (u.a. CAD und CAE) ihr Geld verdient.
Als weiteres Geschäftsfeld wollten sie einen MATLAB-clone rausbringen, der anscheinend kommerziell nicht erfolgreich war, und darum haben sie die Software freigegeben.
Die wollten Geld verdienen, nicht "für lau" zu Octave beitragen.
Ein gut konfiguriertes Python-Environment (NumPy, Scipy, Pandas, Scikit-learn, Tensorflow, ...) bietet alles was ein "Data Scientist" benötigt. Auch Bindings zu BigData-Frameworks wie Apache Spark oder Statistik-Paketen wie R sind verfügbar. Wer schon mal versucht hat eine Messdatendatei mit 2 Mio Zeilen mit Matlab auszuwerten, weiß wo von ich spreche
> Wer schon mal versucht hat eine Messdatendatei mit 2 Mio
> Zeilen mit Matlab auszuwerten, weiß wo von ich spreche
Dazu nehme ich meistens das Programm g++
ÖffneMessdatendatei;
while(ZeileEinlesen);
Zeile verarbeiten;
SchließeMessdatendatei;
Bleib mal schön bei Fakten.MATLAB was Performance angeht derzeit Stand der Technik. Im Besonderen bei Data-Science Aufgaben.
Python ist da Ordnungen lahmer. Das einzige Problem ist, dass es in einer sinnvollen Konfiguration für Data Science im fünfstelligen Bereich liegt. Auf der anderen Seite gibst du bei Spark die gleiche Größenordnung für 3-4 Nodes aus.
PS: 2 Mio Zeilen ist erst einmal keine Einheit. Das allein ist schon ein Hinweis, dass du ein Poser bist.
MATLAB 8.4 (R2014b , Windows 7): fId = fopen( 'largeFile.csv' ) ; -> "unable to load file... Out of Memory"
Python 3.5 (Windows 7, gleicher PC): df=pd.read_csv(...) -> nach ca. 10 sec eingelesen
Mir ist völlig schnuppe, ob Matlab die Datei in 5 sec. gelesen haben könnte wenn man nur mit Prealloc und chunks gearbeitet hätte. Fakt ist, Matlab konnte die Datei überhaupt nicht einlesen.
Mach dir bitte eine wenig mehr Mühe wenn du lügst.
Der von dir gepostete Code ist nicht einmal MATLAB. Du hast es irgendwo aus dem Internet kopiert ohne nachzudenken. Es ist praktisch eine Grundaufgabe von MATLAB große CSV Datein einzulesen oder zu parsen. Wenn du selbst das nicht vernünftig aus dem Stack-Overflow oder sonstiger schlechter Quelle kopieren kannst ist es deine Schuld.
Um ein Out of Memory (diese Meldung gibt es übrigens nicht einmal so) zu bekommen, müsste die Variable nicht in den Speicher passen. Bei 65 MB ist es unrealistisch. Selbst ein Computer mit 128 MB (!) RAM wird sie einlesen können.
Genau so ist es unrealistisch, dass Python für 65 MB 10 Sekunden braucht. Programmierst du etwa auf einem 386? Bei solch mikrigen Dateien ist es bei Python nicht einmal 1 Sekunde. Selbst mit langsamster Spindel-Festplatte.
Geh woanders lügen.
Jetzt musst du noch definieren was 'auswerten' genau in deinem Fall bedeutet.