From 79bd26968abf814a7f9b08d7117dad9822d6db17 Mon Sep 17 00:00:00 2001 From: Leijurv Date: Fri, 21 Sep 2018 22:10:25 -0700 Subject: [PATCH] count betterblockpos instantiation --- src/main/java/baritone/pathing/calc/AStarPathFinder.java | 4 ++++ src/main/java/baritone/utils/pathing/BetterBlockPos.java | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/src/main/java/baritone/pathing/calc/AStarPathFinder.java b/src/main/java/baritone/pathing/calc/AStarPathFinder.java index c78ad2f8..46635d09 100644 --- a/src/main/java/baritone/pathing/calc/AStarPathFinder.java +++ b/src/main/java/baritone/pathing/calc/AStarPathFinder.java @@ -90,6 +90,7 @@ public class AStarPathFinder extends AbstractNodeCostSearch implements Helper { HashMap, Long> timeConsumed = new HashMap<>(); HashMap, Integer> count = new HashMap<>(); HashMap, Integer> stateLookup = new HashMap<>(); + HashMap, Long> posCreation = new HashMap<>(); long heapRemove = 0; int heapRemoveCount = 0; long heapAdd = 0; @@ -161,9 +162,11 @@ public class AStarPathFinder extends AbstractNodeCostSearch implements Helper { chunkCount++; // TODO cache cost int numLookupsBefore = BlockStateInterface.numBlockStateLookups; + long numCreatedBefore = BetterBlockPos.numCreated; double actionCost = movementToGetToNeighbor.getCost(calcContext); long costEnd = System.nanoTime(); stateLookup.put(movementToGetToNeighbor.getClass(), BlockStateInterface.numBlockStateLookups - numLookupsBefore + stateLookup.getOrDefault(movementToGetToNeighbor.getClass(), 0)); + posCreation.put(movementToGetToNeighbor.getClass(), BetterBlockPos.numCreated - numCreatedBefore + posCreation.getOrDefault(movementToGetToNeighbor.getClass(), 0L)); timeConsumed.put(movementToGetToNeighbor.getClass(), costEnd - costStart + timeConsumed.getOrDefault(movementToGetToNeighbor.getClass(), 0L)); count.put(movementToGetToNeighbor.getClass(), 1 + count.getOrDefault(movementToGetToNeighbor.getClass(), 0)); numMovementsConsidered++; @@ -240,6 +243,7 @@ public class AStarPathFinder extends AbstractNodeCostSearch implements Helper { long nanoTime = timeConsumed.get(klass); System.out.println(nanoTime / num + " " + klass + " " + nanoTime / 1000000 + "ms " + num); System.out.println(stateLookup.get(klass) / num + " " + stateLookup.get(klass)); + System.out.println(posCreation.get(klass) / num + " " + posCreation.get(klass)); } if (cancelRequested) { return Optional.empty(); diff --git a/src/main/java/baritone/utils/pathing/BetterBlockPos.java b/src/main/java/baritone/utils/pathing/BetterBlockPos.java index e46b27dc..41c99b30 100644 --- a/src/main/java/baritone/utils/pathing/BetterBlockPos.java +++ b/src/main/java/baritone/utils/pathing/BetterBlockPos.java @@ -36,6 +36,15 @@ public final class BetterBlockPos extends BlockPos { public final int y; public final int z; public final long hashCode; + public static long numCreated; + + static { + numCreated = 0; + } + + { + numCreated++; + } public BetterBlockPos(int x, int y, int z) { super(x, y, z);