From 55dd4c4d557aa520a19a3cd6fc158e1d0dcb1f14 Mon Sep 17 00:00:00 2001 From: nathan Date: Sat, 2 Apr 2016 19:41:24 +0200 Subject: [PATCH] Added FastThreadLocal --- src/dorkbox/network/pipeline/LocalRmiEncoder.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/dorkbox/network/pipeline/LocalRmiEncoder.java b/src/dorkbox/network/pipeline/LocalRmiEncoder.java index 2a94caac..fced8915 100644 --- a/src/dorkbox/network/pipeline/LocalRmiEncoder.java +++ b/src/dorkbox/network/pipeline/LocalRmiEncoder.java @@ -18,6 +18,7 @@ package dorkbox.network.pipeline; import dorkbox.network.connection.ConnectionImpl; import dorkbox.network.connection.EndPoint; import dorkbox.network.rmi.RMI; +import dorkbox.util.FastThreadLocal; import io.netty.channel.ChannelHandler.Sharable; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.MessageToMessageEncoder; @@ -35,9 +36,9 @@ class LocalRmiEncoder extends MessageToMessageEncoder { private static final Map, Boolean> transformObjectCache = new ConcurrentHashMap, Boolean>(EndPoint.DEFAULT_THREAD_POOL_SIZE); private static final RmiFieldCache fieldCache = RmiFieldCache.INSTANCE(); - private final ThreadLocal> threadLocal = new ThreadLocal>() { + private final FastThreadLocal> objectThreadLocals = new FastThreadLocal>() { @Override - protected + public Map initialValue() { return new WeakHashMap(8); } @@ -109,7 +110,7 @@ class LocalRmiEncoder extends MessageToMessageEncoder { rmiFieldIds[i] = 0; // 0 means it was null } - final Map localWeakCache = threadLocal.get(); + final Map localWeakCache = objectThreadLocals.get(); Integer id = localWeakCache.get(rmiObject); if (id == null) {