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.24, x86 build on an Intel E6400 at 2.13gHz

Mesh Loading time Preprocess generation time Paths queried Average points per path Average query time
mesh1 ~0.01 seconds ~0.01 seconds 1770 12.1288 0.000018 seconds
flatshead_dungeon ~0.01 seconds 0.14 seconds 1770 22.8277 0.00011 seconds
thainesford ~0.01 seconds 1.44 seconds 1770 15.0842 0.00027 seconds

Pathfinding against dynamic obstacles, release 5.24, 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 0.000015 seconds 0.00036 seconds
flatshead_dungeon 10 10 0.00012 seconds 0.00041 seconds
flatshead_dungeon 20 10 0.00013 seconds 0.00052 seconds
thainesford 5 10 0.000031 seconds 0.00069 seconds
thainesford 10 10 0.000094 seconds 0.00087 seconds
thainesford 20 10 0.00013 seconds 0.0013 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.27

Mesh At start Mesh loaded Collision preprocess added Pathfinding preprocess added
mesh1 91244 118452 123780 137116
flatshead_dungeon 91436 374876 428516 580728
thainesford 91436 592296 947620 1737492

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.