2009/10/29 Tobias Wendorff <tobias.wendo...@uni-dortmund.de>:
> marcus.wolsc...@googlemail.com schrieb:
>> Was hat das dynamische erstellen eines Graphen für eine Bibliothek
>> von Graphen-Algorithmen mit dem Import in ein anderes Dateiformat
>> (osmbin) von einem Navi zu tun?
>
> Keine Ahnung, aber laut Deiner Beschreibung klingt es schneller,
> weil nicht der ganze Datensatz bearbeitet werden muss.

TS verarbeitet beim Routing immer nur die Strassen die auch benötigt werden
und braucht sie nie alle in den Ram zu laden.
Dein Problem ist aber nicht im Routing sondern im Import
der Karte und auch nicht dass er dazu natürlich die ganze Karte nach
und nach Stückchenweise laden muss (das geht schnell) sondern
dass er für jedes Element der Karte diese Element, mehrere
Verweise in den Bäumen welche den Index nach ID und nach 2D-Koordinate
bilden und Rückreferenzen von Nodes auf Wege, von Elementen auf
die Relationen in denen sie enthalten sind, ... speichern  muss.
Alles Einträge an verschiedenen Orten der Platte = Seek-Zeiten
bei Platten und Blöcke lesen+schreiben bei Flash.

>> Probiere mal die SVN-Version. die benutzt die H2-Datenbank und
>> der Import ist wesentlich schneller als Osmbin. Sobald kein
>> Memory-Mapped IO mehr möglich ist wird der Dateizugriff auf
>> Binärdaten im Osmbin -format im Import zu langsam durch das
>> Aufbauen der Indize. Lesen ist rasend schnell (er muss ja
>> interaktiv ganze Städte rendern können wärend sich das Auto
>> bewegt) aber der Import war da schon immer der Pferdefuss.
>
> Ich habe eine Menge RAM, der von Windows nicht als Arbeitsspeicher
> adressierbar ist. Kann Linux bei 32-bit mehr als 4 GB adressieren?
> Viele Sachen laufen bei mir nicht unter einem 64-bit Linux.

Probiere mal:

java -XX:MaxDirectMemorySize=512M -XmX=4096M -jar traveling_salesman.jar

= maximal 4GB Ram benutzen, maximal 512MB memory-mapped
(mehr ging auch hier nie mit 4GB Ram)

>
> Bringt es was, die zu erzeugende Datei in ein RAMdrive zu
> packen? Oder lieber die zu lesende Datei?

Kannst du gerne machen.
Langsamber wird es dabei sicherlich nicht werden.

>> Mit der H2-Datenbank als Alternative ist das Lesen kaum langsamer
>> aber der Import massiv schneller.
>
> Was heißt "langsamer" bzw. "massiv schneller". Hast Du Prozent?
> Oh Mann, ich klinge schon wie Jan-Benedict.

Erfahrungswerte zeigen ab dem Zeitpunkt wo Java kein
weiteres Memory Mapping erlaubt einen Faktor von etwa
10 im schreiben. Im Lesen beim Routing und Karten-Rendern
keinen wirklich spürbaren Unterschied.

Ich HOFFE diesen Sonntag nach der monatlichen Steuererklährung
endlich die Zeit zu finden auf die neueste Version von H2 upzudaten,
zu testen und das als neue Version zu veröffentlichen.

Marcus

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

Antwort per Email an