R gegen Python in einer produktiven Schleife

Elegante Tricks in einem Notebook auf einem PC sind gut und interessant. Sobald es jedoch darum geht, Code in einer produktiven Schleife auszuführen, erscheinen sofort viele Einschränkungen im Formular:







  • die Menge des verfügbaren Eisens;
  • Leistungsanforderungen;
  • Stabilität;
  • Einhaltung der IS-Anforderungen;
  • … (Nach Geschmack Gewürze hinzufügen).


Heute gibt es in Russland eine solche Phase, dass die Python-Sprache als "Silberkugel" für datenwissenschaftliche Aufgaben positioniert ist. Es scheint, dass eine solche These von jenen aufgestellt wurde, die Kurse über DS in Python verkaufen. Und dann ging das Schwungrad. Im Allgemeinen ist dies ganz normal - fast alle Prozesse in der physischen Welt sind oszillierend.







Trotzdem werden sie in diesem Hype ein wenig unterbewertet. Es gibt eine Reihe von nervigen Momenten in Python, selbst bei grundlegenden DS-Aufgaben, die die Verwendung in einer produktiven Schaltung erheblich erschweren.







Problem 1



Der Name dieses Problems ist BlockManager



. Dies ist eine der Säulen der Architektur pandas



. Äußerlich manifestiert sich in der Tatsache, dass:







  • Speicher verbraucht "als ob nicht in sich selbst";
  • Die Ausführungszeit des Codes hängt von den vorherigen Zuständen des Interpreters und der Reihenfolge der Operationen ab und kann um mehrere Größenordnungen variieren.


, . .







, , :









2



pandas



+ sql



/spark



( — ) data.table



+ Clickhouse



( data.frame



). Database-like ops benchmark. , .







3



Story-telling . Literate Programming. . python



, , Rmarkdown



.









Es ist klar, dass unsere Trends von Kursen und Anforderungen für offene Stellen auf hh.ru geprägt sind. Wenn wir jedoch über die Lösung praktischer Probleme in einem Unternehmen sprechen, erweist sich die Verwendung des R



+ -Pakets Clickhouse



als viel rentabler. Sie können diesem Clip golang



auch ein großartiges Tool hinzufügen .







Fin, hol deinen Napalm raus.







Rahmen aus Kinderkarikatur







Vorherige Veröffentlichung - "R, Monte Carlo und Unternehmensprobleme, Teil 2" .








All Articles