num lookups check

This commit is contained in:
Leijurv
2018-08-31 11:51:08 -07:00
parent c370461a24
commit 836b41a3aa
2 changed files with 7 additions and 1 deletions

View File

@@ -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<Class<? extends Movement>, Long> timeConsumed = new HashMap<>();
HashMap<Class<? extends Movement>, Integer> count = new HashMap<>();
HashMap<Class<? extends Movement>, 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));

View File

@@ -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();