Use Kotlin's Duration class for finer timekeeping

main
Bryson Zimmerman 11 months ago
parent 800e433dc9
commit d37ba3448c

@ -2,38 +2,33 @@ package technology.zim
import technology.zim.data.Directions import technology.zim.data.Directions
import technology.zim.data.Tile import technology.zim.data.Tile
import kotlin.time.measureTime
class HierarchicalPathfinding { class HierarchicalPathfinding {
companion object { companion object {
//TODO: Run tests of World with nested ArrayList vs TileNavigatedArray
@JvmStatic @JvmStatic
fun main(args: Array<String>) { fun main(args: Array<String>) {
val n = 1000 val n = 1000
println("Building maze") println("Building maze")
var startTime = System.currentTimeMillis() val buildMazeTime = measureTime {
buildMaze(n) buildMaze(n)
var endTime = System.currentTimeMillis() }
val buildMazeTime = endTime - startTime
println("Pathfinding") println("Pathfinding")
val ArrayBackedPathfinderTime = measureTime {
ArrayBackedPathfinder.generatePath(Tile(0, 0), Tile(n - 1, (n - 1)))
}
startTime = System.currentTimeMillis() val MapBackedPathfinderTime = measureTime {
ArrayBackedPathfinder.generatePath(Tile(0, 0), Tile(n-1, (n-1))) MapBackedPathfinder.generatePath(Tile(0, 0), Tile(n - 1, (n - 1)))
endTime = System.currentTimeMillis() }
val ArrayBackedPathfinderTime = endTime - startTime
//World.scrubDirections(listOf(Directions.FRONTIER, Directions.INPATH, Directions.NOPATH))
startTime = System.currentTimeMillis()
//MapBackedPathfinder.generatePath(Tile(0, 0), Tile(n-1, (n-1)))
endTime = System.currentTimeMillis()
val MapBackedPathfinderTime = endTime - startTime
println(World.toString()) println(World.toString())
println(n*n) println(n*n)
println("Maze build time: ${buildMazeTime} ms") println("Maze build time: ${buildMazeTime.inWholeMilliseconds} ms")
println("HashMap-Backed Pathfinder time: ${MapBackedPathfinderTime}ms") println("HashMap-Backed Pathfinder time: ${MapBackedPathfinderTime.inWholeMilliseconds}ms")
println("Array-Backed Pathfinder time: ${ArrayBackedPathfinderTime} ms") println("Array-Backed Pathfinder time: ${ArrayBackedPathfinderTime.inWholeMilliseconds}ms")
} }
//Clear the maze of pathfinding markers before running another pathfinding algorithm //Clear the maze of pathfinding markers before running another pathfinding algorithm
@ -53,6 +48,9 @@ class HierarchicalPathfinding {
println(World.toString()) println(World.toString())
println(e.message) println(e.message)
} }
} }
} }
} }
Loading…
Cancel
Save