From 836b41a3aa2a8cf80dc8d1802a2cf7e49d3c2d2f Mon Sep 17 00:00:00 2001 From: Leijurv Date: Fri, 31 Aug 2018 11:51:08 -0700 Subject: [PATCH] num lookups check --- src/main/java/baritone/pathing/calc/AStarPathFinder.java | 4 ++++ src/main/java/baritone/utils/BlockStateInterface.java | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/baritone/pathing/calc/AStarPathFinder.java b/src/main/java/baritone/pathing/calc/AStarPathFinder.java index 93931eb8b..70e13b815 100644 --- a/src/main/java/baritone/pathing/calc/AStarPathFinder.java +++ b/src/main/java/baritone/pathing/calc/AStarPathFinder.java @@ -28,6 +28,7 @@ import baritone.pathing.movement.Movement; import baritone.pathing.movement.MovementHelper; import baritone.pathing.movement.movements.*; import baritone.pathing.path.IPath; +import baritone.utils.BlockStateInterface; import baritone.utils.Helper; import baritone.utils.pathing.BetterBlockPos; import net.minecraft.client.Minecraft; @@ -82,6 +83,7 @@ public class AStarPathFinder extends AbstractNodeCostSearch implements Helper { boolean minimumImprovementRepropagation = Baritone.settings().minimumImprovementRepropagation.get(); HashMap, Long> timeConsumed = new HashMap<>(); HashMap, Integer> count = new HashMap<>(); + HashMap, Integer> stateLookup = new HashMap<>(); long heapRemove = 0; int heapRemoveCount = 0; long heapAdd = 0; @@ -157,8 +159,10 @@ public class AStarPathFinder extends AbstractNodeCostSearch implements Helper { chunkCount++; //long costStart = System.nanoTime(); // TODO cache cost + int numLookupsBefore = BlockStateInterface.numBlockStateLookups; double actionCost = movementToGetToNeighbor.getCost(calcContext); long costEnd = System.nanoTime(); + stateLookup.put(movementToGetToNeighbor.getClass(), BlockStateInterface.numBlockStateLookups - numLookupsBefore + stateLookup.getOrDefault(movementToGetToNeighbor.getClass(), 0)); timeConsumed.put(movementToGetToNeighbor.getClass(), costEnd - costStart + timeConsumed.getOrDefault(movementToGetToNeighbor.getClass(), 0L)); count.put(movementToGetToNeighbor.getClass(), 1 + count.getOrDefault(movementToGetToNeighbor.getClass(), 0)); //System.out.println(movementToGetToNeighbor.getClass() + "" + (costEnd - costStart)); diff --git a/src/main/java/baritone/utils/BlockStateInterface.java b/src/main/java/baritone/utils/BlockStateInterface.java index a1013d7f1..651ccf8f0 100644 --- a/src/main/java/baritone/utils/BlockStateInterface.java +++ b/src/main/java/baritone/utils/BlockStateInterface.java @@ -30,8 +30,10 @@ import net.minecraft.world.chunk.Chunk; public class BlockStateInterface implements Helper { - public static IBlockState get(BlockPos pos) { // wrappers for chunk caching capability + public static int numBlockStateLookups = 0; + public static IBlockState get(BlockPos pos) { // wrappers for chunk caching capability + numBlockStateLookups++; // Invalid vertical position if (pos.getY() < 0 || pos.getY() >= 256) return Blocks.AIR.getDefaultState();