Only compute if absent/present if compute is not needed (locking opts)

This commit is contained in:
cyberpwn
2021-09-13 09:31:56 -04:00
parent ca961e8498
commit eeab12ed86
18 changed files with 25 additions and 64 deletions

View File

@@ -103,8 +103,8 @@ public class EntityMatter extends RawMatter<MatterEntityGroup> {
entityCache = new KMap<>();
for (Entity i : ((World) w).getNearbyEntities(new BoundingBox(x, y, z, x + getWidth(), y + getHeight(), z + getHeight()))) {
entityCache.compute(new IrisPosition(i.getLocation()),
(k, v) -> v == null ? new KList<>() : v).add(i);
entityCache.computeIfAbsent(new IrisPosition(i.getLocation()),
k -> new KList<>()).add(i);
}
for (IrisPosition i : entityCache.keySet()) {