Routino : Low Memory Benchmarking

Introduction

The tests were performed with a VirtualBox virtual machine with different amounts of RAM allocated to it. In each case the host caching of the virtual disk drive was disabled so that the effect on a real machine with limited memory can be seen.

Database Generation

CPU Time

The results for the CPU time taken are presented below as a pair of graphs for the standard and slim mode of operation.

Planetsplitter CPU time graph

Slim mode planetsplitter CPU time graph

The CPU time is very similar for the different amounts of available memory except that some versions show a longer time required for the smallest memory size.

Elapsed Time

The results for the elapsed time taken are presented below as a pair of graphs for the standard and slim mode of operation.

Planetsplitter elapsed time graph

Slim mode planetsplitter elapsed time graph

The elapsed time is very similar for versions 2.0.3 and 2.1.2 but increases significantly for version 2.2 with the smallest amount of memory. Version 2.2 introduced the pruning of nodes to reduce the database size which seems to have greatly increased the elapsed time when RAM is limited. This is not seen in the standard benchmarks where the time is very similar for version 2.1.2 and version 2.2.

The elapsed time increases again for versions 2.4 to 2.7.2.

In version 2.7.3 specific attempts to reduce the elapsed time with limited memory were introduced which reduces the time taken for the smallest memory allocation to about the same level as the larger memory allocations.

Routing

The results for routing CPU time are presented below as a pair of graphs for the standard mode and the slim mode. The same set of 200 routes are tested for the two versions.

Router time graph

Slim mode router time graph

Version 2.0.3 shows a large routing time compared to the other versions for the reasons explained in the standard benchmarks.

Most versions show no significant difference between the time taken to calculate a route with different amounts of memory. (The reason for the longer time with 1024MB of RAM is not known - the tests were repeated but gave similar results).

Conclusions

The data that is being processed here is approximately 6 GB when uncompressed (XML format) and can be processed on a computer with 512 MB of RAM and will create a routing database of around 270 MB.

It is expected that this scaling factor (12:1 between input XML file and required memory and 24:1 between input XML file and routing database) remains constant; the memory usage will scale with the size of the input database.