Normale Ansicht

Es gibt neue verfügbare Artikel. Klicken Sie, um die Seite zu aktualisieren.
Ältere BeiträgeLinux-Magazin

Weg für Python ohne Global Interpreter Lock frei

27. Oktober 2023 um 08:06

Das Python-Team hat festgelegt, wie die Sprache eine bessere Nebenläufigkeit bekommen soll. Bei zu großen Problemen wird dies aber nie umgesetzt.

Das technische Leitungsgremium der Sprache Python hat wichtige Details zur Umsetzung einer besseren Nebenläufigkeit bekannt gegeben. Konkret handelt es sich dabei um die Annahme und Ausgestaltung der Spracherweiterung PEP 703, die den sogenannten Global Interpreter Lock (GIL) in der Standardimplementierung CPython optional machen möchte. Das so entstehende free-threaded Python könnte aber massive Auswirkungen auf das gesamte Ökosystem haben, sodass die Beteiligten nun eben eine lange Testphase anstreben.

Begonnen werden könnte damit wohl sofort, wie es in der Ankündigung heißt. Die Technik soll dabei durch eine Option beim Kompilieren von CPython selbst aktiviert werden können. Das sollte zwar nirgendwo standardmäßig oder gar produktiv genutzt werden, ermögliche aber Paketbetreuern, die Implementierung zu testen. Eine zweite Testphase soll darüber hinaus erst starten, wenn die Arbeiten an API und ABI sich weitgehend beruhigt haben und der Community-Support für die neue Technik groß genug ist.

Letztlich soll das free-threaded Python der Standard für Sprachen werden und diese dann eben komplett ohne GIL auskommen. Das Team zielt dabei darauf, diesen Übergang so störungsfrei wie möglich zu machen. Anfänglich soll der GIL dabei noch optional verfügbar bleiben. Wenn dieser aber nicht mehr weitläufig genutzt wird, soll die Technik komplett entfernt werden.

Wie das Team selbst schreibt, sind diese Pläne derzeit noch bewusst vage gehalten und erfordern wohl dauerhaft begleitenden Diskussionen der Beteiligten. Einen Zeitplan für die Umsetzung gibt es damit noch nicht und die Verantwortlichen wollen jeden der Schritte einzeln evaluieren, auch um eventuelle Änderungen noch rechtzeitig zurücknehmen zu können. Das Python-Team behält sich dabei auch vor, sämtliche der Arbeiten an einem No-GIL-Python zurückzunehmen, sollte diese nicht die Erfolge bringen, die sich die Beteiligten wünschen.

Der Beitrag Weg für Python ohne Global Interpreter Lock frei erschien zuerst auf Linux-Magazin.

Python 3.12 bringt Neuerungen

05. Oktober 2023 um 07:14

Mit Python 3.12.0 ist eine neue Hauptversion der Programmiersprache erschienen, die neue Funktionen und Optimierungen mitbringt.

Zu den Updates zählt ein flexibleres F-String-Parsing. Man habe Beschränkungen in der Syntax aufgehoben und erlaube nun etwa, dass Ausdruckskomponenten innerhalb von F-Strings nun jeder gültige Python-Ausdruck sein können. Das schließe Strings ein, die das gleiche Anführungszeichen verwenden wie der enthaltende F-String, mehrzeilige Ausdrücke, Kommentare, Backslashes und Unicode-Escape-Sequenzen.

Weitere Neuerungen sind eine Debugging-API. Das API decke eine breite Palette von Ereignissen ab, darunter Aufrufe, Rückgaben, Zeilen, Ausnahmen und Sprünge. Das API biete Unterstützung für Debugger und Coverage-Tools, die nahezu keinen Overhead verursachen, heißt es in der Ankündigung, die alle Neuerungen und Änderungen enthält.

Der Beitrag Python 3.12 bringt Neuerungen erschien zuerst auf Linux-Magazin.

HPI bietet Informatik-Kurse für Schüler

29. August 2023 um 07:44

Zwei kostenlose Onlinekurse sind im September auf der Lernplattform openHPI des Hasso-Plattner-Instituts (HPI) im Angebot. Der erste vermittelt ab 6. September spielerisch Grundkenntnisse in der Programmiersprache Python. Der zweite frischt ab 13. September vor einer möglichen Aufnahme eines Informatikstudiums im Wintersemester die notwendigen Mathematik-Kenntnisse auf.

Beim vierwöchigen Onlinekurs “Programmieren lernen mit Python”,  führen drei Studentinnen und ein wissenschaftlicher Mitarbeiter in die mit Abstand beliebteste Programmiersprache der Welt ein, berichtet das HPI.

Im dreiwöchigen Online-Vorkurs “Mathematik – Grundlagen für das Informatikstudium” hilft HPI-Wissenschaftler Dr. Timo Kötzing Oberstufen-Schülerinnen und Schülern, in so genannten MINT-Fächern benötigte mathematische Grundlagen wie Differential- und Integralrechnung, Rechnen mit Unbekannten sowie Logarithmen und Exponentiationen aufzufrischen.

Anmeldungen sind möglich unter https://open.hpi.de/courses/pythonjunior2023 (ab Klasse 7) und https://open.hpi.de/courses/mathe2023 (ab Klasse 12).

Der Beitrag HPI bietet Informatik-Kurse für Schüler erschien zuerst auf Linux-Magazin.

4MLinux und TheSSS frischen Softwarepakete auf

02. August 2023 um 07:36

Die schlanken Distributionen 4MLinux und TheSSS liegen in neuen stabilen Versionen vor. Erstmals an Bord von 4MLinux sind SoundFonts für die Audio-Anwendung FluidSynth sowie der Rastergrafikeditor mtPaint.

In den Repositories warten zudem die proprietären Browser Google Chrome, Microsoft Edge und Opera als sogenannte Extensions auf ihre Installation. Ebenfalls hinzu holen lassen sich verschiedene Java-basierte Spiele, wie etwa Flappy Bird. Der Medien-Player XMMS spielt neben AVC/HEVC-Videos auch zahlreiche ältere Dateiformate aus den 1980er- und 1990er-Jahren ab, die unter anderem auf dem Commodore Amiga oder Atari ST gängig waren.

Viele mitgelieferte Softwarepakete liegen in neuen Versionen bei. Bei der Büroarbeit hilft in 4MLinux 43.0 jetzt LibreOffice 7.5.5, ins Internet gehen Firefox 115.0.2 und Chrome 115.0.5790.110. Ebenfalls an Bord ist Thunderbird 115.0.1. Windows-Programme zündet Wine 8.12. Als Skriptsprachen stehen Perl 5.36.0, Python 3.11.3 und Ruby 3.1.4 zur Verfügung.

Wer einen Server betreibt, erhält Apache 2.4.57 und MariaDB 10.6.14. PHP steht in den Versionen 5.6.40, 7.4.33 und 8.1.19 zur Wahl. Diese Softwarepakete bilden zudem die Grundlage der Mini-Server-Distribution TheSSS. Bei ihr handelt es sich um eine maßgeschneiderte Variante von 4MLinux für den Server-Betrieb. Beide Distributionen verwenden den Linux-Kernel 6.1.33.

Der Beitrag 4MLinux und TheSSS frischen Softwarepakete auf erschien zuerst auf Linux-Magazin.

Cython 3.0.0 bleibt kompatibel

20. Juli 2023 um 07:33

Cython ist eine Programmiersprache, die das Schreiben von C-Erweiterungen für die Sprache Python so einfach macht wie Python selbst, schreiben die Entwickler. Mit Version 3.0 .0 kommt Unterstützung für Python bis 3.11 erste Unterstützung für die CPython-API und bessere Ausnahmebehandlung.

Seit Beginn der Entwicklung von Cython 3.0.0 sei CPython 3.8-3.11 veröffentlicht worden berichten die Entwickler. Und alle diese Versionen werden in Cython unterstützt, einschließlich der experimentellen Unterstützung für das in der Entwicklung befindliche CPython 3.12. Mit dieser Unterstützung entfalle aber der Support für Python 2.6, heißt es in der Ankündigung.

Die Entwickler haben zudem eine  Reihe von Python Enhancement Proposals (PEPs) implementiert. Dazu zählt etwa eine einfachere Anpassung der Klassenerstellung und Unterstützung von Nicht-ASCII-Identifiers.

Der Beitrag Cython 3.0.0 bleibt kompatibel erschien zuerst auf Linux-Magazin.

Analyse: Java-Entwickler dringend gesucht

24. April 2023 um 09:40

Das Freelancer-Portal Workgenius hat den Fachkräftemangel in Deutschland analysiert und nach Städten und Programmiersprachen aufgeschlüsselt. Ein Resultat: Java-Programmierer sind am häufigsten gesucht.

Für die Studie zum Arbeitsmarkt für das Jahr 2023 hat Workgenius nach eigenen Angaben mehr als 120.000 Stellenausschreibungen für IT-Jobs in Deutschland analysiert. Und auch ermittelt welche Programmiersprachen am gefragtesten in Deutschlands Großstädten sind.

Im Ranking bezogen auf die Freien Stellen bezogen auf 100.000 Einwohner liegt Frankfurt auf Rang 1 mit 1582 Stellen je 100.000 Einwohnern. Insgesamt seien 12.089 IT-Stellen ausgeschrieben, heißt es in der Studie von Workgenius. Bei den Programmiersprachen ist Java mit 1397 Ausschreibungen in Frankfurt die gefragteste Programmiersprache. In absoluten Werten bei den Stellenausschreibungen landet Frankfurt hinter Berlin (19.914 Stellen), München (16.605) und Hamburg (13.058) auf Platz vier.

Auf Platz zwei folgt, wie schon im Vorjahr, Stuttgart. Die insgesamt gezählten 9009 Stellen (2022: 5.325) Stellen verteilt auf die knapp 630.000 Einwohner bedeuten 1430 Stellen je 100.000 Einwohner.  Auch in Stuttgart ist der Java-Bedarf mit 1207 Ausschreibungen am größten, teilt Workgenius mit.

Platz drei geht nach Düsseldorf. Die 6989 Stellenausschreibungen entsprechen einer Quote von rund 1125 pro 100.000 Einwohner. In Düsseldorf werden derzeit SQL-Experten mit 706 Ausschreibungen am häufigsten gesucht.

Was die häufig gesuchten Programmiersprachen betrifft, wird Java in insgesamt 24.901 Ausschreibungen gesucht, was den ersten Platz des Rankings bedeutet. Auf Platz zwei folgt SQL. Zwar gilt die Structured Query Language nicht als vollwertige Programmiersprache, allerdings lässt sie sich mit anderen Programmiersprachen kombinieren, heißt es in der Analyse. SQL werde bei 21.813 Stellenausschreibungen vorausgesetzt. Auf dem dritten Platz landet Python mit insgesamt 20.023 Stellenausschreibungen. Die drei Plätze sind damit gleich belegt wie in der Analyse des Vorjahres.

Die kompletten Ergebnisse sind online abrufbar.

Der Beitrag Analyse: Java-Entwickler dringend gesucht erschien zuerst auf Linux-Magazin.

Python-Compiler verspricht 10- bis 100-fache Leistung

21. März 2023 um 08:47

Eine native Kompilierung von Python soll eine Programmgeschwindigkeit wie bei C und C++ ermöglichen.

Die Programmiersprache Python gilt zwar als vergleichsweise einfach zu erlernen und wird auch deshalb viel verwendet, die Nutzung des Interpreters in der Standardimplementierung hat aber Nachteile bei der Geschwindigkeit. Mit dem Codon-Projekt versucht ein Team des MIT (Massachusetts Institute of Technology) einen nativen Compiler für Python zu erstellen, um die Sprache deutlich zu beschleunigen.

In der Ankündigung des MIT sagt der Hauptautor von Codon zu der Umsetzung: “Der Benutzer schreibt einfach Python, so wie er es gewohnt ist, ohne sich um Datentypen oder Leistung kümmern zu müssen, was wir automatisch erledigen – und das Ergebnis ist, dass sein Code 10 bis 100 Mal schneller läuft als normales Python. Codon wird bereits kommerziell in Bereichen wie quantitative Finanzen, Bioinformatik und Deep Learning eingesetzt.”

Der neue Python-Compiler Codon basiere auf der LLVM-Compiler-Infrastruktur, biete natives Multithreading und die Geschwindigkeit damit erzeugter Programme reiche gar an C oder C++ heran, schreiben die Beteiligten auf Github. Das Multithreading und die Nebenläufigkeit werden in der Standardimplementierung von Python derzeit effektiv vom sogenannten Global Interpreter Lock (GIL) verhindert, der aber entfernt werden soll.

In einem Vortrag beschreibt das Team Codon als “einen domänenerweiterbaren Compiler und DSL-Framework (Domain Specific Language) für leistungsstarke DSLs mit der Syntax und Semantik von Python.” Neu sei dabei vor allem eine Intermediate Representation die Optimierungen und Analysen erleichtere.

Zwar unterstützte Codon fast die gesamte Python-Syntax, ein kompletter Ersatz für die Standardimplementierung sei das Projekt aber nicht, heißt es. So werden einige Python-Module noch nicht unterstützt und die Nutzung einiger dynamischer Funktionen von Python ist schlicht nicht erlaubt, so dass bestehende Programme teils zur Nutzung mit Codon angepasst werden müssen.

Der Beitrag Python-Compiler verspricht 10- bis 100-fache Leistung erschien zuerst auf Linux-Magazin.

Unterstützung für Python ohne Global Interpreter Lock wächst

Der Global Interpreter Lock in Python verhindert echte Nebenläufigkeit. Ein Projekt zur Abschaffung trifft auf Begeisterung des Kern-Teams.

Im Blog der Python Foundation fasst Entwickler Alex Waygood eine der wohl wichtigsten Diskussionen des vergangenen Python Language Summit zusammen: die Frage nach der Abschaffung des Global Interpreter Lock (GIL) der Sprache. Der GIL verhindert effektiv eine echte Nebenläufigkeit der Sprache. In der Vergangenheit gab es immer wieder Versuche, diese Technik in der Standardimplementierung CPython abzuschaffen. Eine neue Idee stößt nun offenbar auf große Unterstützung.

Konkret handelt es sich dabei um das Nogil-Projekt von Sam Gross, das auf vorigen Arbeiten zu der Idee basiert, den GIL in Python abzuschaffen. Verfügbar ist der experimentelle Beispielcode seit Oktober 2021. Er hatte zunächst vor allem Probleme bei Python-Projekten, die Drittanbieter-Code nutzten.

Zu dem Problem, das sich durch den Verzicht auf den GIL ergibt, heißt es im Blog: “Damit Python auch ohne die GIL effektiv arbeiten kann, müssen zu einem Großteil des Codes neue Sperren hinzugefügt werden, um sicherzustellen, dass er weiterhin Thread-sicher ist. Das Hinzufügen neuer Sperren zu bestehendem Code kann jedoch sehr schwierig sein, da es in einigen Bereichen zu großen Verlangsamungen kommen kann.” In einem früheren Experiment führte der Verzicht auf den GIL etwa zu einer massiven Verlangsamung für Single-Thread-Code.

Gross’ neue Arbeiten stoßen aber offenbar auf “Begeisterung” beim Rest des Kern-Entwicklungsteams von Python. Zu lösen ist vor allem die Frage, wie eine derart massive Änderung in CPython umgesetzt werden könnte. Gross schlägt dafür einen Compiler-Flag vor. Letztlich hieße das aber auch, zwei Versionen parallel zueinander zu pflegen – mit und ohne GIL. Eine finale Entscheidung zur Umsetzung ist noch nicht gefallen.

Der Beitrag Unterstützung für Python ohne Global Interpreter Lock wächst erschien zuerst auf Linux-Magazin.

❌
❌