[Talk-de] Namefinder-Entwicklung

Sascha Silbe sascha-ml-gis-osm-talk-de at silbe.org
So Aug 24 19:33:52 UTC 2008


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/
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 481 bytes
Beschreibung: Digital signature
URL         : <http://lists.openstreetmap.org/pipermail/talk-de/attachments/20080824/882787c2/attachment.sig>


Mehr Informationen über die Mailingliste Talk-de