Increase statistics resolution to microseconds, add additional benchmarking tests

main
Bryson Zimmerman 10 months ago
parent b4ad65c267
commit 2829da878c

@ -18,8 +18,8 @@ class HierarchicalPathfinding {
@JvmStatic @JvmStatic
fun main(args: Array<String>) { fun main(args: Array<String>) {
val benchmarking = true val benchmarking = true
val ns = arrayListOf(50, 100, 250, 500, 750, 1000).reversed() val ns = arrayListOf(10, 25, 50, 75, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100).reversed()
val iterations = 10 val iterations = 25
val file = File("performance.csv") val file = File("performance.csv")
file.writeText("n,path-length,prims,bfs,astar-array,astar-hashmap\n") file.writeText("n,path-length,prims,bfs,astar-array,astar-hashmap\n")
var rossFile = File("performance-ross.csv") var rossFile = File("performance-ross.csv")
@ -44,10 +44,10 @@ class HierarchicalPathfinding {
val numberFormat = NumberFormat.getInstance(Locale.US) val numberFormat = NumberFormat.getInstance(Locale.US)
println(World.toString()) println(World.toString())
println(numberFormat.format(n*n)) println(numberFormat.format(n*n))
println("Maze build time: ${numberFormat.format(buildMazeTime.inWholeMilliseconds)} ms") println("Maze build time: ${numberFormat.format(buildMazeTime.inWholeMicroseconds)} ms")
println("BFS Pathfinder time: ${numberFormat.format(bfsPathfinderTime.inWholeMilliseconds)}ms") println("BFS Pathfinder time: ${numberFormat.format(bfsPathfinderTime.inWholeMicroseconds)}ms")
println("Array-Backed Pathfinder time: ${numberFormat.format(arrayBackedPathfinderTime.inWholeMilliseconds)}ms") println("Array-Backed Pathfinder time: ${numberFormat.format(arrayBackedPathfinderTime.inWholeMicroseconds)}ms")
println("HashMap-Backed Pathfinder time: ${numberFormat.format(mapBackedPathfinderTime.inWholeMilliseconds)}ms") println("HashMap-Backed Pathfinder time: ${numberFormat.format(mapBackedPathfinderTime.inWholeMicroseconds)}ms")
*/ */
} }
@ -70,7 +70,7 @@ class HierarchicalPathfinding {
var mapBackedPathfinderTime = measureTime { var mapBackedPathfinderTime = measureTime {
MapBackedPathfinder.generatePath(Tile(0, 0), Tile(n - 1, n - 1)) MapBackedPathfinder.generatePath(Tile(0, 0), Tile(n - 1, n - 1))
} }
file.appendText("${n},${ArrayBackedPathfinder.pathLength},${buildMazeTime.inWholeMilliseconds},${bfsPathfinderTime.inWholeMilliseconds},${arrayBackedPathfinderTime.inWholeMilliseconds},${mapBackedPathfinderTime.inWholeMilliseconds}\n") file.appendText("${n},${ArrayBackedPathfinder.pathLength},${buildMazeTime.inWholeMicroseconds},${bfsPathfinderTime.inWholeMicroseconds},${arrayBackedPathfinderTime.inWholeMicroseconds},${mapBackedPathfinderTime.inWholeMicroseconds}\n")
} }

Loading…
Cancel
Save