Speed

The benchmark application measures loading and preprocess generation for a set of benchmark meshes, with additional query benchmarks then also executed for each mesh.

Long paths

The 'Long paths' query benchmark times pathfinding for all pairs of start and end positions from a set of positions distributed over the mesh being benchmarked.

Pathfinding with dynamic obstacles

The 'Dynamic obstacles pathfinding' query benchmark measures performance for pathfinding queries with a number of very dynamic obstacles included in the query collision context.
For each 'obstacle iteration', a set of obstacles is moved to random new positions, with a small number of pathfinding queries then executed for each such iteration.

The queries in this benchmark are also 'long paths', for pairs of points generated at random over the entire mesh being benchmarked.

Setup and 'Long paths' query benchmark, release 5.15, x86 build on an Intel E6400 at 2.13gHz

Mesh Loading time Preprocess generation time Paths queried (of which unreachable) Average points per path Average query time
mesh1 0.031 seconds 0.015 seconds 1770 0 12.1288 0.000027 seconds
flatshead_dungeon 0.016 seconds 0.156 seconds 1770 0 22.2243 0.00013 seconds
thainesford 0.047 seconds 2.0 seconds 1770 0 15.0898 0.00034 seconds

Pathfinding against dynamic obstacles, release 5.15, x86 build on an Intel E6400 at 2.13gHz

Mesh Number of obstacles Queries per obstacle iteration Placement and setup Average query time
flatshead_dungeon 5 10 below timer threshhold 0.00034 seconds
flatshead_dungeon 10 10 below timer threshhold 0.00046 seconds
flatshead_dungeon 20 10 0.000018 seconds 0.00051 seconds
thainesford 5 10 below timer threshhold 0.00087 seconds
thainesford 10 10 0.0004 seconds 0.00094 seconds
thainesford 20 10 0.0004 seconds 0.00184 seconds

Memory

The source code for the memory benchmark is in the 'memory' project of the samples workspace.
You can also run the prebuilt 'SDKRoot\bin\memory.exe' directly.
Note that this benchmark cannot be run in the 'testbed-only' version of the SDK.

Bytes allocated - Release 5.14

Mesh At start Mesh loaded Collision preprocess added Pathfinding preprocess added
mesh1 95578 146882 162050 174659
flatshead_dungeon 95602 674821 839605 981954
thainesford 95602 966149 1453825 2238781

Archived benchmark results

Optimisation of the SDK is a continuous process.
You can see how the performance and memory footprint of the SDK has improved over past releases, on this page (on the subnav bar).

Running the benchmark

Information about running the benchmark can be found on this page.

Benchmark environments

The meshes used for the benchmark environments are shown on this page.