Technote: Graphhopper vs OSRM vs Gosmore

Un nuovo concorrente per il nostro concorso di routing Openstreetmap entra sul ring: Graphhopper. Sarà resistere contro la rinomata router OSRM e Gosmore?

Le nostre esigenze
Let ';s rendono ancora chiaro: abbiamo adattato il nostro test di router OSM al nostro nostre esigenze. I risultati e le conclusioni potrebbero non essere validi a tutti per tutte le esigenze di routing. Fate attenzione con l'interpretazione questo test. Ogni router ha lati forti che lo rende eccezionale nel suo campo.

Per il nostro pubblico multiple di arresto di routing servizio, abbiamo bisogno di milioni di point-to-point percorsi ogni giorno. RouteXL ottimizza il viaggio su strada più veloce per più destinazioni. Per ogni ottimizzazione viaggio, sono necessarie tutte le durate di viaggio fermate intermedie tra. E.g. per trovare il percorso migliore attraverso dieci posizioni da un origine, abbiamo bisogno di 11 x 10 = 110 rotte. Per 40 sedi abbiamo bisogno 1.640 rotte. E così via.

Graphhopper
Precedentemente, OSRM vinto la battaglia con Gosmore in sua velocità. Ma OSRM non era ancora in grado di funzionare su piccole ed economiche server che usiamo per data. Che ci ha tenuti da attuare su scala mondiale fino ad ora. Siamo rimasti piuttosto soddisfatti quando un altro nuovo concorrente ";volontariamente "; a partecipare a nostro test. Sarebbe combinare entrambi i punti di forza: essere veloce come OSRM, con i piccoli requisiti Gosmore?

Il nuovo router in questo test è Graphhopper. Sul suo sito si dice di essere un motore di routing strada Fonte veloce e Open. E ';s business grazie alla sua licenza Apache e promette di scalare da grande server al dispositivo portatile. Graphhopper è implementato in Java e dispone di un'interfaccia API, che lo rende facile da integrare con il nostro sistema. E ';sviluppo s è abbastanza attiva.

I risultati dei test
Abbiamo utilizzato lo stesso test come prima. Sono stati selezionati i punti casuali su una piccola mappa. Queste gambe casuali generati da instradati. La percentuale di percorsi e tempi di successo per il calcolo del percorso sono stati registrati. Itinerari sono stati convalidati da durate minime e massime, in base alla distanza in linea d'aria.

Totale gambe: 10.000 
Tempo totale Gosmore: 671.423sec OSRM: 28.682sec GraphHopper: 23.586sec
Successo Gosmore: 97,6% OSRM: 98% GraphHopper: 99,1%
Troppo lento Gosmore: 0% OSRM: 0% GraphHopper: 0%
Troppo veloce Gosmore: 0% OSRM: 0% GraphHopper: 0%

Su questi 10.000 gambe, Graphhopper è molto più veloce di Gosmore, e ancora più veloce rispetto al nostro precedente vincitore OSRM. Anche il suo tasso di successo è superiore, vicino al 100%. Il nuovo capretto sul blocco prende tutto.

Ma, come con OSRM, ha vinto ';t corsa per tutto il pianeta sul nostro ";piccolo "; Server solver 4GB, che fanno l'ottimizzazione di routing dietro gli schermi. Anche, Graphhopper ';codice s è ancora in fase di sviluppo attivo e non ancora stabile. La retrocompatibilità non è garantita fino alla prima versione stabile.

Implementato
Siamo molto impressionati dalla Graphhopper ';prestazioni s. Poiché la domanda per il nostro servizio è in rapida crescita e Amazon Web Services è sceso prezzi per i propri server EC2, abbiamo colto l'occasione. Noi ';ve aggiornato un server solver incontrare Graphhopper ';requisiti s e installato il software.

Abbiamo avuto un po 'di difficoltà a raggiungere in su e funzionante, ma oggi noi ';ve collegati ai nostri modelli di ottimizzazione di routing. Si fa un grande lavoro e dà l'incremento delle prestazioni come indicato dai risultati del test. Noi ';ll seguire da vicino nel prossimo periodo, ma per ora è: benvenuto a bordo, Graphhopper!