Programmiersprache Julia: Wie Python, nur schneller

Julia spielt heute kaum eine Rolle, dabei überholt sie nicht nur im Wortsinn Python als Programmiersprache in Wissenschaft und Datenanalyse.

Artikel von Miroslav Stimac veröffentlicht am
Python ist die zweitbeliebteste Programmiersprache
Python ist die zweitbeliebteste Programmiersprache (Bild: Pixabay)

Python ist eine sehr beliebte Programmiersprache für Projekte im Bereich des Maschinellen Lernens und für viele andere wissenschaftliche Anwendungsgebiete - vor allem, weil man damit so einfach und schnell Prototypen programmieren kann. Doch die Ausführung von Python-Programmen ist sehr langsam. Die Programmiersprache Julia soll Python Konkurrenz machen, indem sie nicht nur einfach, sondern auch sehr schnell ist - fast so schnell wie C++.

Inhalt:
  1. Programmiersprache Julia: Wie Python, nur schneller
  2. Benchmarks für Julia und Python
  3. Pakete und IDEs
  4. Entwicklungsumgebungen für Julia

Julia wurde 2012 vorgestellt und ist damit eine sehr junge Programmiersprache. Die Version 1.0 erschien im Jahr 2018.

Noch spielt Julia kaum eine Rolle: Bei den beliebtesten Programmiersprachen steht sie laut TIOBE-Index August 2021 auf Platz 26. Python hingegen liegt aktuell auf Platz 1.

Nur eine einstellige Prozentzahl von Data Scientists und Machine Learning Engineers verwenden laut den Kaggle-Umfragen von 2017 bis 2020 Julia, Python hingegen über 80 Prozent. Doch Julia hat aufgrund der hohen Ausführungsgeschwindigkeit von Programmen gute Chancen, das zu ändern.

Julia: fast so schnell wie C

Stellenmarkt
  1. Cyber Security Engineer (m/f/d)
    ATCP Management GmbH, Berlin
  2. IT-Systemanalyst/IT Administrator (m/w/d)
    Econocom Deutschland GmbH, Frankfurt am Main
Detailsuche

Python ist eine interpretierte Programmiersprache, die Python-Programme werden vor ihrer Ausführung also nicht kompiliert (in maschinennahen Code übersetzt), sondern während der Laufzeit interpretiert und ausgeführt. Deshalb sind interpretierte Programmiersprachen bei der Ausführung von Programmen oft langsam.

Das bedeutet nicht, dass alle Python-Programme langsam sind. Bei Python werden oft Bibliotheken, Frameworks beziehungsweise Pakete verwendet, um bestimmte Aufgaben zu erledigen. Bei Machine-Learning-Projekten wird eine Vielzahl solcher Pakete verwendet. Diese können, wenn die Ausführungsgeschwindigkeit wichtig ist, in anderem Programmiersprachen wie C++ programmiert sein.

Wenn man solche in C++ programmierte Komponenten verwendet, können auch Python-Programme schnell sein. Werden rechenintensive Algorithmen mit Python selbst programmiert, dann sind diese jedoch oft sehr langsam.

Zum Beispiel ist dies oft ein Problem bei Wissenschaftlern, die eine rechenintensive Simulation mit vielen Schleifen im Programm entwickeln. Solche Simulationen wären in Python in vielen Fällen sehr langsam. Doch viele Wissenschaftler, die keine Informatiker oder Vollzeitprogrammierer, sondern Experten ihrer jeweiligen Fachgebiete sind, meiden komplizierte Programmiersprachen wie C++.

Datenanalyse mit Julia: Einstieg in die Datenanalyse mit der Programmiersprache Julia

Julia bietet sich hier als Alternative an. Sie ist vergleichbar benutzerfreundlich wie Python, jedoch eine Programmiersprache mit einem Compiler. Der Compiler übersetzt ein Julia-Programm in nativen Code der jeweiligen Plattformen (Betriebssysteme und CPUs) via LLVM, einer modularen Compiler-Infrastruktur.

Dabei handelt es sich um einen Just-Ahead-of-Time-Compiler (JAOT-Compiler). Das "Just" ist hier von großer Bedeutung. Im Gegensatz zu einem klassischen Ahead-Of-Time-Compiler (AOT-Compiler) wie in der Regel bei C++, wird bei Julia mit dem JAOT das kompilierte Programm nicht auf Dauer persistiert. Es existiert nur, solange der Julia-Prozess existiert. Wenn man ihn schließt, geht das kompilierte Programm verloren und muss beim nächsten Mal neu kompiliert werden.

Dies erfordert Zeit und beansprucht intensiv Hardwareressourcen wie CPU und RAM, weshalb bei Ad-hoc-Programmierung und Ausführung von sich in Entwicklung befindenden Programmen Julia eine höhere Anlaufzeit als Python hat. Nachdem ein Julia-Programm kompiliert wurde, ist es in vielen Fällen jedoch deutlich (manchmal um mehr als das 10- oder sogar 100-Fache) schneller als reine Python-Programme - solange man den Julia-Prozess nicht beendet.

An dieser Stelle sei noch darauf hingewiesen, dass es mit dem Packagecompiler.jl möglich ist, kompilierte Julia-Programme, die man gegebenenfalls etwas anpassen muss, dauerhaft zu persistieren und somit die Startzeiten zu verkürzen.

Nun zu den Benchmarks.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Benchmarks für Julia und Python 
  1. 1
  2. 2
  3. 3
  4. 4
  5.  


fabiwanne 18. Okt 2021 / Themenstart

Julia gibt es noch gar nicht in der Version 3. Die 30 Jahre Entwicklungszeit von denen...

ronda-melmag 15. Okt 2021 / Themenstart

Sagen wir mal so: Das Tool was ich nutzen möchte gibt mir eine Sprache vor. Ich...

franzropen 14. Okt 2021 / Themenstart

Wieso? Julia ist auch einsteigerfreundlicher als C oder Java und wenn jetzt auch...

fabiwanne 14. Okt 2021 / Themenstart

Soll noch einer über die Singlecore-Leistung von meinem FX-8370 beschweren hängt er hier...

franzropen 14. Okt 2021 / Themenstart

Für die Zielgruppe ist auch Excel eine IDE. Es geht darum möglichst schnell und einfach...

Kommentieren



Aktuell auf der Startseite von Golem.de
Kaufberatung
Macbook Air oder Macbook Pro und wenn ja, welches?

Apple macht es Kunden nicht leicht, das richtige Macbook zu finden. Wir geben Entscheidungshilfe.

Kaufberatung: Macbook Air oder Macbook Pro und wenn ja, welches?
Artikel
  1. Metaversum: Facebook plant wohl seine Umbenennung
    Metaversum
    Facebook plant wohl seine Umbenennung

    Einem Gerücht zufolge will Facebook seinen Firmennamen ändern. Der neue Name soll reflektieren, dass das Unternehmen mittlerweile mehr bietet.

  2. M1 Pro/Max: Dieses Apple Silicon ist gigantisch
    M1 Pro/Max
    Dieses Apple Silicon ist gigantisch

    Egal ob AMD-, Intel- oder Nvidia-Hardware: Mit dem M1 Pro und dem M1 Max schickt sich Apple an, die versammelte Konkurrenz zu düpieren.
    Eine Analyse von Marc Sauter

  3. In-Ears: Airpods 3 halten bei ausgeschaltetem Raumklang länger durch
    In-Ears
    Airpods 3 halten bei ausgeschaltetem Raumklang länger durch

    Die neuen Airpods 3 von Apple erreichen die angegebene Laufzeit von sechs Stunden nicht, wenn alle Funktionen aktiviert sind.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Cyber Week: Bis zu 16% auf SSDs & RAM von Adata & bis zu 30% auf Alternate • 3 Spiele für 49€: PC, PS5 uvm. • Switch OLED 369,99€ • 6 Blu-rays für 40€ • MSI 27" Curved WQHD 165Hz HDR 479€ • Chromebooks zu Bestpreisen • Alternate (u. a. Team Group PCIe-4.0-SSD 1TB 152,90€) [Werbung]
    •  /