From 2829da878c4e20b21da132a4220bce3db0af75e4 Mon Sep 17 00:00:00 2001 From: Bryson Zimmerman Date: Tue, 3 Dec 2024 14:47:37 -0500 Subject: [PATCH] Increase statistics resolution to microseconds, add additional benchmarking tests --- src/main/kotlin/Main.kt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/Main.kt b/src/main/kotlin/Main.kt index f8e6aab..eedcf5b 100644 --- a/src/main/kotlin/Main.kt +++ b/src/main/kotlin/Main.kt @@ -18,8 +18,8 @@ class HierarchicalPathfinding { @JvmStatic fun main(args: Array) { val benchmarking = true - val ns = arrayListOf(50, 100, 250, 500, 750, 1000).reversed() - val iterations = 10 + val ns = arrayListOf(10, 25, 50, 75, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100).reversed() + val iterations = 25 val file = File("performance.csv") file.writeText("n,path-length,prims,bfs,astar-array,astar-hashmap\n") var rossFile = File("performance-ross.csv") @@ -44,10 +44,10 @@ class HierarchicalPathfinding { val numberFormat = NumberFormat.getInstance(Locale.US) println(World.toString()) println(numberFormat.format(n*n)) - println("Maze build time: ${numberFormat.format(buildMazeTime.inWholeMilliseconds)} ms") - println("BFS Pathfinder time: ${numberFormat.format(bfsPathfinderTime.inWholeMilliseconds)}ms") - println("Array-Backed Pathfinder time: ${numberFormat.format(arrayBackedPathfinderTime.inWholeMilliseconds)}ms") - println("HashMap-Backed Pathfinder time: ${numberFormat.format(mapBackedPathfinderTime.inWholeMilliseconds)}ms") + println("Maze build time: ${numberFormat.format(buildMazeTime.inWholeMicroseconds)} ms") + println("BFS Pathfinder time: ${numberFormat.format(bfsPathfinderTime.inWholeMicroseconds)}ms") + println("Array-Backed Pathfinder time: ${numberFormat.format(arrayBackedPathfinderTime.inWholeMicroseconds)}ms") + println("HashMap-Backed Pathfinder time: ${numberFormat.format(mapBackedPathfinderTime.inWholeMicroseconds)}ms") */ } @@ -70,7 +70,7 @@ class HierarchicalPathfinding { var mapBackedPathfinderTime = measureTime { 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") }