Propagate stateByID scaling performance improvement

This commit is contained in:
Mike Primm 2021-03-14 12:08:07 -05:00
parent aef7a16b1c
commit 0809d23559
14 changed files with 13 additions and 14 deletions

View File

@ -179,7 +179,7 @@ public class DynmapPlugin {
int idx = bsids.getId(bs);
if (idx >= stateByID.length) {
int plen = stateByID.length;
stateByID = Arrays.copyOf(stateByID, idx + 1);
stateByID = Arrays.copyOf(stateByID, idx*11/10); // grow array by 10%
Arrays.fill(stateByID, plen, stateByID.length, DynmapBlockState.AIR);
}
Block b = bs.getBlock();

View File

@ -177,7 +177,7 @@ public class DynmapPlugin {
int idx = bsids.getId(bs);
if (idx >= stateByID.length) {
int plen = stateByID.length;
stateByID = Arrays.copyOf(stateByID, idx + 1);
stateByID = Arrays.copyOf(stateByID, idx*11/10); // grow array by 10%
Arrays.fill(stateByID, plen, stateByID.length, DynmapBlockState.AIR);
}
Block b = bs.getBlock();

View File

@ -177,7 +177,7 @@ public class DynmapPlugin {
int idx = bsids.getRawId(bs);
if (idx >= stateByID.length) {
int plen = stateByID.length;
stateByID = Arrays.copyOf(stateByID, idx + 1);
stateByID = Arrays.copyOf(stateByID, idx*11/10); // grow array by 10%
Arrays.fill(stateByID, plen, stateByID.length, DynmapBlockState.AIR);
}
Block b = bs.getBlock();

View File

@ -177,7 +177,7 @@ public class DynmapPlugin {
int idx = bsids.getRawId(bs);
if (idx >= stateByID.length) {
int plen = stateByID.length;
stateByID = Arrays.copyOf(stateByID, idx + 1);
stateByID = Arrays.copyOf(stateByID, idx*11/10); // grow array by 10%
Arrays.fill(stateByID, plen, stateByID.length, DynmapBlockState.AIR);
}
Block b = bs.getBlock();

View File

@ -177,7 +177,7 @@ public class DynmapPlugin
int i = Block.getIdFromBlock(b);
if (i >= (stateByID.length >> 4)) {
int plen = stateByID.length;
stateByID = Arrays.copyOf(stateByID, (i+1) << 4);
stateByID = Arrays.copyOf(stateByID, i*11/10); // grow array by 10%
Arrays.fill(stateByID, plen, stateByID.length, DynmapBlockState.AIR);
}
ResourceLocation ui = null;

View File

@ -178,7 +178,7 @@ public class DynmapPlugin
int i = Block.getIdFromBlock(b);
if (i >= (stateByID.length >> 4)) {
int plen = stateByID.length;
stateByID = Arrays.copyOf(stateByID, (i+1) << 4);
stateByID = Arrays.copyOf(stateByID, i*11/10); // grow array by 10%
Arrays.fill(stateByID, plen, stateByID.length, DynmapBlockState.AIR);
}
ResourceLocation ui = null;

View File

@ -201,7 +201,7 @@ public class DynmapPlugin
int idx = bsids.get(bs);
if (idx >= stateByID.length) {
int plen = stateByID.length;
stateByID = Arrays.copyOf(stateByID, idx+1);
stateByID = Arrays.copyOf(stateByID, idx*11/10); // grow array by 10%
Arrays.fill(stateByID, plen, stateByID.length, DynmapBlockState.AIR);
}
Block b = bs.getBlock();

View File

@ -227,7 +227,7 @@ public class DynmapPlugin
int idx = bsids.get(bs);
if (idx >= stateByID.length) {
int plen = stateByID.length;
stateByID = Arrays.copyOf(stateByID, idx+1);
stateByID = Arrays.copyOf(stateByID, idx*11/10); // grow array by 10%
Arrays.fill(stateByID, plen, stateByID.length, DynmapBlockState.AIR);
}
Block b = bs.getBlock();

View File

@ -228,7 +228,7 @@ public class DynmapPlugin
int idx = bsids.get(bs);
if (idx >= stateByID.length) {
int plen = stateByID.length;
stateByID = Arrays.copyOf(stateByID, idx+1);
stateByID = Arrays.copyOf(stateByID, idx*11/10); // grow array by 10%
Arrays.fill(stateByID, plen, stateByID.length, DynmapBlockState.AIR);
}
Block b = bs.getBlock();

View File

@ -229,7 +229,7 @@ public class DynmapPlugin
int idx = bsids.get(bs);
if (idx >= stateByID.length) {
int plen = stateByID.length;
stateByID = Arrays.copyOf(stateByID, idx+1);
stateByID = Arrays.copyOf(stateByID, idx*11/10); // grow array by 10%
Arrays.fill(stateByID, plen, stateByID.length, DynmapBlockState.AIR);
}
Block b = bs.getBlock();

View File

@ -239,7 +239,7 @@ public class DynmapPlugin
int idx = bsids.getId(bs);
if (idx >= stateByID.length) {
int plen = stateByID.length;
stateByID = Arrays.copyOf(stateByID, idx+1);
stateByID = Arrays.copyOf(stateByID, idx*11/10); // grow array by 10%
Arrays.fill(stateByID, plen, stateByID.length, DynmapBlockState.AIR);
}
Block b = bs.getBlock();

View File

@ -239,7 +239,7 @@ public class DynmapPlugin
int idx = bsids.getId(bs);
if (idx >= stateByID.length) {
int plen = stateByID.length;
stateByID = Arrays.copyOf(stateByID, idx+1);
stateByID = Arrays.copyOf(stateByID, idx*11/10); // grow array by 10%
Arrays.fill(stateByID, plen, stateByID.length, DynmapBlockState.AIR);
}
Block b = bs.getBlock();

View File

@ -239,7 +239,7 @@ public class DynmapPlugin
int idx = bsids.getId(bs);
if (idx >= stateByID.length) {
int plen = stateByID.length;
stateByID = Arrays.copyOf(stateByID, idx+1);
stateByID = Arrays.copyOf(stateByID, idx*11/10); // grow array by 10%
Arrays.fill(stateByID, plen, stateByID.length, DynmapBlockState.AIR);
}
Block b = bs.getBlock();

View File

@ -240,7 +240,6 @@ public class DynmapPlugin
if (idx >= stateByID.length) {
int plen = stateByID.length;
stateByID = Arrays.copyOf(stateByID, idx*11/10); // grow array by 10%
Log.debug("Resized stateByID from " + plen + " to " + stateByID.length);
Arrays.fill(stateByID, plen, stateByID.length, DynmapBlockState.AIR);
}
Block b = bs.getBlock();