Routino : Benchmarking (Slim Mode)


Introduction

The slim mode for the planetsplitter and router programs are separate versions of the programs that do not map the database files into memory. This allows the total size of the database to be larger than 2GB on a 32-bit system or use on systems where mapped files are not available or where the size of the mapped files counts towards the memory quota (some virtual machine environments). The need to seek within the file to read (or write) the data rather than allowing the operating system to optimise things will reduce the speed.

The optimisation that was performed for version 2.1.1 was not specifically for the slim mode but in version 2.1.2 some specific slim mode optimisations have been performed.

The information about the slim mode is presented below in an abbreviated form with no detailed descriptions. The tests with the slim mode have only been made with version 1.5 onwards.

Database Generation

Time and Memory

The results for time and memory are presented below as a table and a pair of graphs.

VersionSystem Time (s)User Time (s)Elapsed Time (s)Max Resident
Set Size (MB)
1.5n/an/an/an/a
1.5.11290.24358.852758.57221
2.0902.28309.661268.42179
2.0.1904.20303.111260.91179
2.0.2894.07309.281258.62179
2.0.3907.53300.781266.78179
2.1907.03316.511278.39187
2.1.1727.10259.191036.82187
2.1.2666.50247.38962.70187

Notes:

  1. Version 1.5 failed to run without crashing - since a bug-fix release is available (1.5.1) there was no point in patching the source code to allow it to run.
  2. Version 2.0 ran without crashing although it crashed in the normal mode. This is probably because of a difference in which segment was kept in case of a duplicated segment (see below).

Planetsplitter (slim) time vs version graph

Planetsplitter (slim) memory vs version graph

Database size and contents

The size of the database is approximately the same for the normal and slim versions of the program so no results are presented here. The results would be identical if there were no overlapping highway segments or if the sort function gave identical results in the presence of overlapping segments.

Routing

Time and Memory

The results for time and memory are presented below as a table and a pair of graphs.

VersionSystem Time (s)User Time (s)Elapsed Time (s)Max Resident
Set Size (MB)
Percentage Routed
1.5n/an/an/an/an/a
1.5.17.112.529.671689
2.018.3014.0832.455189
2.0.118.1714.0632.315189
2.0.217.9613.9031.955089
2.0.318.2713.9732.375089
2.118.4213.8032.315089
2.1.117.334.5921.966889
2.1.21.900.942.852789

Router (slim) time vs version graph

Router (slim) memory vs version graph

Conclusions

The slim version of planetsplitter uses only one third of the memory and the time taken is one third longer compared to the normal version. The saving in memory is considerably more than the increase in time.

The slim version of the router uses only one quarter of the memory but the time taken is four times as long. The tradeoff between time taken and memory is much more balanced.