On Sun, Aug 24, 2008 at 07:15:37PM +0200, Bernd Wurst wrote:

Ich denke es wäre für OSM eine gute Entwicklung, wenn die Tools in den üblichen Script-Sprachen "experimentiert" würden, also Features und Nutzen ausprobiert würden und dann in einer vergleichsweise schnell laufenden Programmiersprache Nachprogrammiert würden.
Das ist übrigens genau die Richtung, aus der ich gekommen bin: Habe zuerst einen Router für OSM-Daten in Python geschrieben - ca. 200 Zeilen Source und 2 Minuten Tübingen -> Stuttgart. Das habe ich nach und nach beschleunigt (und dabei einige interessante Erfahrungen gemacht - manche Änderung, die die Geschwindigkeit verbessern sollte, hat sie tatsächlich verschlechtert). Auf Basis dieser Erfahrungen habe ich den Namefinder entwickelt - mit zeitkritischem Suchkern in C(++) (und die Klammern sind genau richtig da, es ist eine Mischung). Die Datenbank-Implementierung für letzteren kann ich übrigens in der nächsten Version des Routers (mit in C statt Python geschriebenem Routing-Algo) verwenden. Skriptsprachen sind sehr geschickt, um High-Level-Entscheidungen zu treffen - welcher Algo, was genau ist zeitkritisch, etc.. Im nächsten Schritt kann man dann (mit deutlich höherem Aufwand) die Performance-kritischen Teile in einer schnelleren Sprache (also i.d.R. C(++)) implementieren - und nur die, für den Rest lohnt sich der Aufwand einfach nicht. In meinen Programmen hat übrigens Psyco (Python specializing compiler, so was ähnliches wie ein Just-In-Time-Compiler) oft für Verdoppelung der Geschwindigkeit zeitkritischer Routinen gesorgt (auf Kosten ca. 1.5fachen Speicherverbrauchs) - teils sogar besser als eine mittels PyRex (Hilfssprache, um einfach C-Module für Python zu schreiben) implementierte Erweiterung. Schade nur, daß es das nur für 32bit-x86 gibt (Entwicklung wurde zu Gunsten eines neuen, noch nicht fertigen Projekts eingestellt).

CU Sascha

--
Premature optimization is the root of all evil.
http://sascha.silbe.org/
http://www.infra-silbe.de/

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de

Antwort per Email an