Menü
Developer

PyPy-Team überarbeitet Analysewerkzeug JitViewer

Das Werkzeug zur Analyse des mit dem Just-in-Time-Compiler erzeugten Codes verwendet zur Ausgabe ein Binärformat statt Text. Entwickler können die Ergebnisse neuerdings mit VMProf betrachten.

Von
vorlesen Drucken Kommentare lesen
PyPy-Team veröffentlicht überarbeitetes Analysewerkzeug JitViewer

PyPy ist eine CPython-Alternative, die sich im Vergleich besonders durch erhöhte Performance und geringeren Speicherbedarf auszeichnet. Das im März erschienene PyPy 5.0 zielte mit internen Refactorings vor allem auf erhöhte Leistungsfähigkeit. Zu den bekanntesten Nutzern gehört Mozilla, das vor Kurzem bekanntgab, PyPy ins MOSS-Programm zur Unterstützung von Open-Source-Projekten aufzunehmen und mit 200.000 US-Dollar zu fördern.

Neben dem Python-Interpreter und einem JIT-Compiler (Just-in-time) zum Übersetzen der Skriptsprache in Maschinencode zur Laufzeit bietet PyPy einige Analsysewerkzeuge an, mit denen Python-Entwickler ihren übersetzten Code testen. Ein wichtiges Tool ist der CPU-Profiler VMProf, der auf einen geringen Overhead zur Laufzeit optimiert ist, um eine möglichst exakte statistische CPU-Analyse zu ermöglichen.

Der JitViewer dient zum Testen des kompilierten Codes auf Bugs, Bottlenecks und grundsätzliche Performanceprobleme. Dazu erzeugt er während des Programmablaufs Log-Dateien, die Entwickler anschließend auswerten. Bisher verwendete er Klartext als Ausgabeformat, was einerseits zu Problemen für Auswertungswerkzeuge bei Änderungen des Formats führte und andererseits bei lang laufendem Code sehr große Dateien erzeugte. Daher hat das Team das Werkzeug auf ein Binärformat umgestellt und verwendet zusätzlich gzip-Komprimierung. Außerdem ist das Format im Gegensatz zum Vorgänger für künftige Erweiterungen ausgelegt, sodass es keine Kompatibilitätsprobleme geben soll.

Der JitViewer benötigt neuerdings keine externen Tools zur Auswertung, sondern ist Bestandteil der VMProf-Plattform und als solcher über den Webservice kostenfrei verfügbar. In Zukunft möchte das Team die CPU-Analyse mit dem JIT-Log kombinieren. Details zur Nutzung und dazu, welche Daten der Dienst übermittelt, sind auf der Dokumentationsseite zu finden. Weitere Infos stehen im PyPy-Blog. (rme)