Performance

Top  Previous  Next

Performance of the core routing functionality is important to anyone considering using large street networks.

 

From the TIGER data (USA) we have extracted a 4,500,000 links street network covering the central part of USA (1600 x 1600 km).

 

The test was done with this setup:

 

Dynamic segmentation, 2 calls to function Coordinate2location

Generation of driving directions, function RouteList

Latitude/Longitude coordinates

Alpha = 1.3

Fastest route

Caching of all data, except file coord3.bin

Computer was an AMD Athlon 64 3200+ with 2 GB RAM.

The network required 450 MB harddisk space.

 

We have randomly calculated a large number of routes.

 

Average time per route:

 


Short routes

Long routes

RAM usage

Normal mode

422 msec

1358 msec

268 MB

Turn restriction mode

645 msec

2876 msec

313 MB

 

Long routes can be as long as 3100 km, but most will be a lot shorter.

Short routes are within the same network, but start and end location is restricted to a 500 x 500 km rectangle with 450,000 links.

 

Multi-threading

 

The normal-mode, long route test from above has been executed on a number of different computers and with different number of threads. As can be seen from the table below, true dual CPU gives more processing power than a hyper-threading enabled (HT) CPU. Of course this requires simoultaneous routing requests and an application allowing for it, such as RW NetServer:

 

Number of routes per minute:

 

CPU

1 thread

2 threads

3 threads

4 threads

Dual P3-866

19

32



P4-3000 (HT)

34

46



AMD Athlon 64 3200+

44

44



Dual Xeon 3.2 GHz (HT)

40

66

82

92

 

Local vs. remote connection

 

Timings above are for local connections (server address = 127.0.0.1 / localhost). If you are making a remote connection across the internet or LAN, each function call may take up to 1 second extra, depending on the exact setup and network configuration.