forked from I2P_Developers/i2p.i2p
reinstate cache capacity calculation
This commit is contained in:
@@ -73,7 +73,6 @@ class EventPumper implements Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final TryCache<ByteBuffer> _bufferCache = new TryCache<>(new BufferFactory(), MAX_CACHE_SIZE);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* every few seconds, iterate across all ntcp connections just to make sure
|
* every few seconds, iterate across all ntcp connections just to make sure
|
||||||
@@ -105,6 +104,8 @@ class EventPumper implements Runnable {
|
|||||||
long maxMemory = SystemVersion.getMaxMemory();
|
long maxMemory = SystemVersion.getMaxMemory();
|
||||||
MIN_BUFS = (int) Math.max(MIN_MINB, Math.min(MAX_MINB, 1 + (maxMemory / (16*1024*1024))));
|
MIN_BUFS = (int) Math.max(MIN_MINB, Math.min(MAX_MINB, 1 + (maxMemory / (16*1024*1024))));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final TryCache<ByteBuffer> _bufferCache = new TryCache<>(new BufferFactory(), MIN_BUFS);
|
||||||
|
|
||||||
public EventPumper(RouterContext ctx, NTCPTransport transport) {
|
public EventPumper(RouterContext ctx, NTCPTransport transport) {
|
||||||
_context = ctx;
|
_context = ctx;
|
||||||
|
@@ -57,11 +57,14 @@ class UDPPacket implements CDQEntry {
|
|||||||
private static final TryCache<UDPPacket> _packetCache;
|
private static final TryCache<UDPPacket> _packetCache;
|
||||||
private static final TryCache.ObjectFactory<UDPPacket> _packetFactory;
|
private static final TryCache.ObjectFactory<UDPPacket> _packetFactory;
|
||||||
private static final boolean CACHE = true;
|
private static final boolean CACHE = true;
|
||||||
|
private static final int MIN_CACHE_SIZE = 64;
|
||||||
private static final int MAX_CACHE_SIZE = 256;
|
private static final int MAX_CACHE_SIZE = 256;
|
||||||
static {
|
static {
|
||||||
if (CACHE) {
|
if (CACHE) {
|
||||||
|
long maxMemory = SystemVersion.getMaxMemory();
|
||||||
|
int csize = (int) Math.max(MIN_CACHE_SIZE, Math.min(MAX_CACHE_SIZE, maxMemory / (1024*1024)));
|
||||||
_packetFactory = new PacketFactory();
|
_packetFactory = new PacketFactory();
|
||||||
_packetCache = new TryCache<>(_packetFactory, MAX_CACHE_SIZE);
|
_packetCache = new TryCache<>(_packetFactory, csize);
|
||||||
} else {
|
} else {
|
||||||
_packetCache = null;
|
_packetCache = null;
|
||||||
_packetFactory = null;
|
_packetFactory = null;
|
||||||
|
Reference in New Issue
Block a user