Technote: Graphhopper vs OSRM vs Gosmore

Ein neuer Kandidat für unsere Openstreetmap Routing-Wettbewerb in den Ring: Graphhopper. Wird es sich gegen den renommierten Router OSRM und Gosmore?

Unsere Anforderungen
Lassen Sie ';s machen erneut deutlich,: Wir haben unsere Prüfung der OSM-Router, um unsere unsere Bedürfnisse zugeschnitten. Die Ergebnisse und Schlussfolgerungen können ungültig werden, überhaupt für alle Routing-Anforderungen. Seien Sie vorsichtig mit der Interpretation dieses Test. Jeder Router verfügt über starke Seiten, die in einem eigenen Feld macht es hervorragend.

Für unsere öffentlichen mehrere Stop-Routing Service, Wir müssen Millionen von Punkt-zu-Punkt-Strecken jeden Tag. RouteXL optimiert die schnellste Straße Reise zu mehreren Zielen. Für jeden Tourenoptimierung, alle Zwischenreisedauer zwischen den Haltestellen benötigt werden. Z.B.. um die beste Route über zehn Standorten von einem Ursprung zu finden, Wir müssen 11 x 10 = 110 Routen. Für 40 Standorten müssen wir 1,640 Routen. Usw.

Graphhopper
Vorher, OSRM gewonnen der Kampf mit Gosmore in seiner Geschwindigkeit. Aber OSRM war noch nicht in der Lage, auf die kleinen und billigen Servern, die wir bis heute laufen. Das hielt uns von weltweit bisher Umsetzung. Wir waren sehr glücklich, als ein weiteres neues Kandidat ";freiwillig "; auf unserem Test Mitmachen. Wäre es sowohl Stärken kombinieren: werden so schnell wie OSRM, mit den kleinen Anforderungen Gosmore?

Die neuen Router in diesem Test ist Graphhopper. Auf seiner Website sagt, dass es, um eine schnelle und Open-Source-Weg-Routing-Engine sein. Es ist;s für Geschäftsreisende aufgrund seiner Apache License und verspricht, von großen Server auf das mobile Gerät zu skalieren. Graphhopper in Java implementiert ist und eine API-Schnittstelle, das es einfach, mit unserem System zu integrieren. Es ist;s Entwicklung sehr aktiv.

Testergebnisse
Wir verwendeten die gleiche Prüfung wie zuvor. Zufällige Punkte auf einer kleinen Karte ausgewählt wurden. Diese generierten Zufalls Beine zu verlegen. Der Prozentsatz erfolgreicher Strecken und die Zeit für die Routenberechnung aufgezeichnet. Routen wurden von Mindest- und Höchstdauer validiert, basierend auf der Entfernung in der Luftlinie.

Insgesamt Beine: 10.000 
Gesamtzeit Gosmore: 671.423sec OSRM: 28.682sec GraphHopper: 23.586sec
Success Gosmore: 97,6% OSRM: 98% GraphHopper: 99,1%
Zu langsam Gosmore: 0% OSRM: 0% GraphHopper: 0%
Zu schnell Gosmore: 0% OSRM: 0% GraphHopper: 0%

Auf diesen 10.000 Beine, Graphhopper ist viel schneller als Gosmore, und noch schneller als unsere vorherigen Gewinner OSRM. Auch seine Erfolgsquote höher, nahe 100%. Das neue Kind auf dem Block takes it all.

Aber wie bei OSRM, es gewann ';t Lauf für den ganzen Planeten auf unserer ";kleine "; 4GB Löser Server, dass die Routing-Optimierung hinter den Kulissen tun. Auch Noch, Graphhopper ';s-Code ist immer noch aktiv weiterentwickelt und noch nicht stabil. Abwärtskompatibilität ist nicht sichtbar bevor das erste stabile Version garantiert.

Implementiert
Wir sind stark von Graphhopper beeindruckt ";s Leistung. Da die Nachfrage nach unseren Service wächst rasant, und Amazon Web Services hat die Preise für die EC2-Server fallen gelassen, wir haben eine Chance. Wir;ve rüstet einem Löser Server Graphhopper erfüllen ';s Anforderungen und installiert die Software.

Wir hatten ein wenig Mühe, es zum Laufen, aber heute wir ";habe es in unseren Routing Optimierungsmodellen verbunden. Es hat eine große Aufgabe und gibt die Leistungssteigerung, wie die Testergebnisse angezeigt. Wir;werde in der nächsten Zeit genau zu beobachten, aber jetzt ist es: Willkommen an Bord, Graphhopper!