[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