mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-12-23 17:19:16 +00:00
Stop tracking cache hit ratios
This commit is contained in:
@@ -254,15 +254,6 @@ public class Iris extends VolmitPlugin implements Listener {
|
|||||||
configWatcher.checkModified();
|
configWatcher.checkModified();
|
||||||
Iris.info("Hotloaded settings.json");
|
Iris.info("Hotloaded settings.json");
|
||||||
}
|
}
|
||||||
|
|
||||||
int ev = CachedStream2D.evictions.get();
|
|
||||||
if(IrisSettings.get().getGeneral().isDebug())
|
|
||||||
{
|
|
||||||
Iris.debug("Cache Hit Ratio: " + C.RED + Form.pc((double)CachedStream2D.cacheHits.get()/ (double)(CachedStream2D.cacheMisses.get() + CachedStream2D.cacheHits.get()), 2) + " " + C.LIGHT_PURPLE + " Evictions: " + C.AQUA + Form.f(ev/2) + "/s" + C.LIGHT_PURPLE + " Cache Size: " + C.RED + Form.f(CachedStream2D.cacheMisses.get() - CachedStream2D.evictions.get()));
|
|
||||||
CachedStream2D.cacheMisses.addAndGet(-CachedStream2D.evictions.get());
|
|
||||||
CachedStream2D.cacheHits.addAndGet(-CachedStream2D.evictions.get());
|
|
||||||
CachedStream2D.evictions.set(0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onDisable() {
|
public void onDisable() {
|
||||||
|
|||||||
@@ -29,9 +29,6 @@ import java.util.concurrent.atomic.AtomicInteger;
|
|||||||
public class CachedStream2D<T> extends BasicStream<T> implements ProceduralStream<T> {
|
public class CachedStream2D<T> extends BasicStream<T> implements ProceduralStream<T> {
|
||||||
private final ProceduralStream<T> stream;
|
private final ProceduralStream<T> stream;
|
||||||
private final ConcurrentLinkedHashMap<Long, T> cache;
|
private final ConcurrentLinkedHashMap<Long, T> cache;
|
||||||
public static final AtomicInteger cacheHits = new AtomicInteger();
|
|
||||||
public static final AtomicInteger cacheMisses = new AtomicInteger();
|
|
||||||
public static final AtomicInteger evictions = new AtomicInteger();
|
|
||||||
|
|
||||||
public CachedStream2D(ProceduralStream<T> stream, int size) {
|
public CachedStream2D(ProceduralStream<T> stream, int size) {
|
||||||
super();
|
super();
|
||||||
@@ -40,7 +37,6 @@ public class CachedStream2D<T> extends BasicStream<T> implements ProceduralStrea
|
|||||||
.initialCapacity(size)
|
.initialCapacity(size)
|
||||||
.maximumWeightedCapacity(size)
|
.maximumWeightedCapacity(size)
|
||||||
.concurrencyLevel(32)
|
.concurrencyLevel(32)
|
||||||
.listener((k, v) -> evictions.incrementAndGet())
|
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,16 +57,7 @@ public class CachedStream2D<T> extends BasicStream<T> implements ProceduralStrea
|
|||||||
return stream.get((int) x, (int) z);
|
return stream.get((int) x, (int) z);
|
||||||
}
|
}
|
||||||
|
|
||||||
return cache.compute(Cache.key((int) x, (int) z), (k, v) -> {
|
return cache.compute(Cache.key((int) x, (int) z), (k, v) -> v != null ? v : stream.get((int) x, (int) z));
|
||||||
if(v != null )
|
|
||||||
{
|
|
||||||
cacheHits.incrementAndGet();
|
|
||||||
return v;
|
|
||||||
}
|
|
||||||
|
|
||||||
cacheMisses.incrementAndGet();
|
|
||||||
return stream.get((int) x, (int) z);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user