Wer hat PyPy probiert ?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Mad-Marty
User
Beiträge: 317
Registriert: Mittwoch 18. Januar 2006, 19:46

Hi,

hat sich jemand von euch schonmal mit PyPy und dessen übersetzung zu LLVM befasst ?

Wenn ja wie findet ihr es ? Wird es ein vollständiger CPython ersatz werden ?
Wird es enorme Geschwindigkeitsvorteile bringen ?
Evtl neue Features ?


Zu finden ist PyPy hier :
http://codespeak.net/pypy/dist/pypy/doc/news.html
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

Wenn ja wie findet ihr es ? Wird es ein vollständiger CPython ersatz werden ?
Ja.
Wird es enorme Geschwindigkeitsvorteile bringen ?
Vielleicht, enorm werden sie vielleicht aber auch nicht ausfallen.
Evtl neue Features ?
Auch vielleicht, bzw. ziemlich wahrscheinlich.

PyPy ist momentan noch in einer Konsolidierungsphase, sprich es ist noch zu früh darüber zu reden was das System kann und wie es das kann. Das wird die Zeit noch früh genug zeigen. Momentan sollte Dich noch nichts davon abhalten bei CPython zu bleiben. :-)
--- Heiko.
Mad-Marty
User
Beiträge: 317
Registriert: Mittwoch 18. Januar 2006, 19:46

Beeindruckend, gibts überhaupt was von Python was du nicht schon ausprobiert hast ;-)

Was passiert danach mit CPython ?
Wird es einfach gestoppt ?

Der Python Code sollte dann ja auch auf PyPy ohne Probleme laufen.
(Wozu also 2 Versionen pflegen ?)

Gewissermassen ist PyPy ja auch wieder in C/C++ wenn ich das richtig verstanden habe ... ???


Habe auch mal einen der Proposals gesehen wo optionale typendeklarierung vorgeschlagen wird. Ich glaube das wäre ein sehr gutes Feature und würde wahrscheinlich auch enorme Geschwindigkeitsvorteile bringen. Oder was meint ihr ?


Was mich auch interessiert, warum wurde PyPy eigentlich angefangen zu entwickeln, anstatt einfach CPython weiterzubauen ?

Wo liegen die grossen Vorteile ?
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Mad-Marty hat geschrieben:Was passiert danach mit CPython ?
Wird es einfach gestoppt ?
CPython gibts nach Jython auch weiterhin noch.
Mad-Marty hat geschrieben:Der Python Code sollte dann ja auch auf PyPy ohne Probleme laufen.
(Wozu also 2 Versionen pflegen ?)
Es lauft schon jetzt viel Code auf pypy, für die Basissachen reicht es auf alle Fälle schonmal aus.
Mad-Marty hat geschrieben:Gewissermassen ist PyPy ja auch wieder in C/C++ wenn ich das richtig verstanden habe ... ???
Nein. Es ist Python in Python. Es kann auf CPython laufen, oder auf RPython dem eigens dafür entwickelten Interpreter.
Mad-Marty hat geschrieben:Habe auch mal einen der Proposals gesehen wo optionale typendeklarierung vorgeschlagen wird. Ich glaube das wäre ein sehr gutes Feature und würde wahrscheinlich auch enorme Geschwindigkeitsvorteile bringen. Oder was meint ihr ?
Das hat nix mit Python zu tun, sondenr mit dem darunter Laufenden RPython, wenn ich mich jetzt nicht irre. Python selber wird Duck-Typing bleiben.
Mad-Marty hat geschrieben:Was mich auch interessiert, warum wurde PyPy eigentlich angefangen zu entwickeln, anstatt einfach CPython weiterzubauen?
Ist mehr oder weniger ein Wissenschaftliches Projekt. Wird deswegen auch von der EU mit Millionen überhäuft :)
Ich glaube über kurz oder lange wird pypy stable und man kann dann anfangen den darunterliegenen Interpreter zu verbessern.
TUFKAB – the user formerly known as blackbird
Kompottkin
User
Beiträge: 21
Registriert: Sonntag 26. Februar 2006, 03:09
Wohnort: Penzberg
Kontaktdaten:

blackbird hat geschrieben:Nein. Es ist Python in Python. Es kann auf CPython laufen, oder auf RPython dem eigens dafür entwickelten Interpreter.
RPython ist eine Sprache. Grob gesagt ist es Python minus dynamische Features. PyPy ist in RPython geschrieben, damit es sich selbst möglichst effizient übersetzen kann (z.B. in schnellen C-Code).
blackbird hat geschrieben:Das hat nix mit Python zu tun, sondenr mit dem darunter Laufenden RPython, wenn ich mich jetzt nicht irre. Python selber wird Duck-Typing bleiben.
So habe ich es auch in Erinnerung. Allerdings ist andererseits genau das der Sinn und Zweck von PyPy: da es in Python geschrieben ist, lassen sich neue Python-Ideen wie optionale Typendeklarationen (die ich persönlich verabscheuen würde) sehr leicht austesten. In gewisser Weise erinnert es mich an Scheme: auch eine Sprache, für die es nicht schwer ist, einen eigenen Interpreter in der Sprache selbst zu schreiben und dann mit Erweiterungen zu experimentieren.
Mad-Marty hat geschrieben:Was mich auch interessiert, warum wurde PyPy eigentlich angefangen zu entwickeln, anstatt einfach CPython weiterzubauen?
Ein in Python geschriebenes Python ist viel, viel leichter erweiter- und optimierbar.
Mad-Marty
User
Beiträge: 317
Registriert: Mittwoch 18. Januar 2006, 19:46

Nein. Es ist Python in Python. Es kann auf CPython laufen, oder auf RPython dem eigens dafür entwickelten Interpreter.
Ja es ist in Python geschrieben, aber damit kommt ja die tolle 2000fach langsamere geschwindigkeit. Also wird es erst dann interessant wenn PyPy
auf eigenen Beinen (eigener Maschinencodeerzeugung) steht, oder ?


Kann ich mir RPython dann wie die JavaVM vorstellen ?

Ein in Python geschriebenes Python ist viel, viel leichter erweiter- und optimierbar.
Ich fürchte das ist nicht so, ein feature was auf einem anderen aufbaut schleppt ja automatisch dessen schwächen immer mit ... ?!

Klar man muss dann nur an der Basis optimieren, was die sache vereinfacht, aber das bringt sicher auch overhead der sich nicht wegoptimieren lässt ...



Ich vermute mal, wenn dann PyPy final ist (find ich übrigens gut das die EU geld für Python abstellt :-) wird es für den Programmierer fast wie CPython sein, ohne erkennbare nachteile.
BlackJack

Mad-Marty hat geschrieben:Kann ich mir RPython dann wie die JavaVM vorstellen ?
Nein RPython ist wie schon gesagt eine Untermenge von Python. So ähnlich wie Pyrex nur wirklich nur "echtes" Python.
Ein in Python geschriebenes Python ist viel, viel leichter erweiter- und optimierbar.
Ich fürchte das ist nicht so, ein feature was auf einem anderen aufbaut schleppt ja automatisch dessen schwächen immer mit ... ?!
Es ist auf jeden Fall schonmal einfacher zu Pflegen und zu Erweitern. Zum Beispiel werden Attribute von Objekten (ausser wenn man __slots__ benutzt) in Dictionaries gespeichert. Das ist in CPython in C Programmiert und sieht dementsprechend "hässlich" und umfangreich aus. Solche Quelltextabschnitte sind in PyPy dann viel schöner zu lesen.

Und wenn der Python-Interpreter selbst in einer dynamischen Sprache geschrieben ist, dann lassen sich Optimierungen vornehmen, die man bei statischen Sprachen nicht vornehmen kann. Zum Beispiel an die aktuelle Situation angepasste (Neu)Übersetzung in Machinencode zur Laufzeit.
Antworten