PyPy unterstützt JIT-Kompilierung auf 32-bit/64-bit x86 und 32-bit/64-bit ARM Prozessoren. Es wird nächtlich auf Windows, Linux, OpenBSD und Mac OS X getestet. PyPy ist in der Lage, reine Python-Software auszuführen, die nicht auf implementierungsspezifische Funktionen angewiesen ist.

Es gibt eine Kompatibilitätsschicht für CPython C API-Erweiterungen namens CPyExt, aber sie ist unvollständig und experimentell. Der bevorzugte Weg, um mit C-Shared-Libraries zu interagieren, ist über das eingebaute C Foreign Function Interface (CFFI) oder die ctypes-Bibliotheken.

HistoryEdit

PyPy ist ein Nachfolgeprojekt des Psyco-Projekts, einem Just-in-Time-Spezialcompiler für Python, der von Armin Rigo zwischen 2002 und 2010 entwickelt wurde. Das Ziel von PyPy ist es, einen just-in-time spezialisierenden Compiler mit Umfang zu haben, was für Psyco nicht verfügbar war. Ursprünglich konnte RPython auch in Java-Bytecode, CIL und JavaScript kompiliert werden, aber diese Backends wurden aufgrund mangelnden Interesses entfernt.

PyPy war zunächst ein forschungs- und entwicklungsorientiertes Projekt. Nach Erreichen eines ausgereiften Entwicklungsstandes und einer offiziellen 1.0-Veröffentlichung Mitte 2007 lag der nächste Schwerpunkt auf der Veröffentlichung einer produktionsreifen Version mit mehr CPython-Kompatibilität. Viele der Änderungen an PyPy wurden in Coding Sprints vorgenommen.

  • Im August 2008 war PyPy in der Lage, einige beliebte Python-Bibliotheken wie Pylons, Pyglet, Nevow und Django auszuführen.
  • Am 12. März 2010 wurde PyPy 1.2 veröffentlicht, wobei der Schwerpunkt auf der Geschwindigkeit lag. Es enthielt einen funktionierenden, wenn auch noch nicht stabilen, Just-in-Time-Compiler.
  • Am 30. April 2011 wurde die PyPy-Version 1.5 veröffentlicht, die Kompatibilität mit CPython 2.7 erreichte.
  • Am 9. Mai 2013 wurde PyPy 2.0 veröffentlicht, das Unterstützung für JIT-Kompilierung auf ARMv6 und ARMv7 JIT in Alpha-Qualität einführte und CFFI in die Standardbibliothek aufnahm.
  • Am 20. Juni 2014 wurde PyPy3 für stabil erklärt und führte Kompatibilität mit dem moderneren Python 3 ein. Es wurde zusammen mit PyPy 2.3.1 veröffentlicht und trägt dieselbe Versionsnummer.
  • Am 21. März 2017 veröffentlichte das PyPy-Projekt die Version 5.7 von PyPy und PyPy3, wobei letztere die Unterstützung für Python 3.5 in Beta-Qualität einführte.
  • Am 26. April 2018 wurde Version 6.0 veröffentlicht, mit Unterstützung für Python 2.7 und 3.5 (noch in Beta-Qualität unter Windows).
  • Am 11. Februar 2019 wurde die Version 7.0 veröffentlicht, mit Unterstützung für Python 2.7 und 3.5.
  • Am 14. Oktober 2019 wurde die Version 7.2 veröffentlicht, mit Unterstützung für Python 3.6.9.
  • Am 24. Dezember 2019 wurde Version 7.3 veröffentlicht, mit Unterstützung für Python 3.6.9.

FinanzierungEdit

PyPy wurde zwischen Dezember 2004 und März 2007 von der Europäischen Union als Specific Targeted Research Project gefördert. Im Juni 2008 gab PyPy bekannt, dass es Teil des Google Open Source Programms ist und sich darauf konzentriert, PyPy kompatibler mit CPython zu machen. Im Jahr 2009 akzeptierte Eurostars, eine speziell auf KMU ausgerichtete Förderagentur der Europäischen Union, einen Vorschlag von PyPy-Projektmitgliedern mit dem Titel „PYJIT – ein schnelles und flexibles Toolkit für dynamische Programmiersprachen auf der Grundlage von PyPy“. Die Finanzierung durch Eurostars dauerte bis August 2011.

Auf der PyCon US 2011 stellte die Python Software Foundation einen Zuschuss von 10.000 US-Dollar für PyPy zur Verfügung, um die Arbeit an der Leistung und Kompatibilität mit neueren Versionen der Sprache fortzusetzen.

Das PyPy-Projekt nimmt auch Spenden über seine Status-Blogseiten an. Ab 2013 wurde eine Vielzahl von Unterprojekten finanziert: Kompatibilität mit Python 3, eingebaute optimierte NumPy-Unterstützung für numerische Berechnungen und Unterstützung für Software-Transaktionsspeicher, um bessere Parallelität zu ermöglichen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.