From 005dac3ad5e821f19272ed003a8b4df9aac6e56f Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 30 Mar 2016 02:13:24 -0400 Subject: [PATCH] Use FastUtil Int HashMap for DataWatcher For DataWatcher, swap out plain Integer key HashMap for a Int2ObjectOpenHashMap These collections are super fast as seen http://java-performance.info/hashmap-overview-jdk-fastutil-goldman-sachs-hppc-koloboke-trove-january-2015/ diff --git a/src/main/java/net/minecraft/server/DataWatcher.java b/src/main/java/net/minecraft/server/DataWatcher.java index f1c62ec..68a0565 100644 --- a/src/main/java/net/minecraft/server/DataWatcher.java +++ b/src/main/java/net/minecraft/server/DataWatcher.java @@ -11,13 +11,14 @@ import java.util.List; import java.util.Map; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; // Paper import org.apache.commons.lang3.ObjectUtils; public class DataWatcher { private static final Map, Integer> a = Maps.newHashMap(); private final Entity b; - private final Map> c = Maps.newHashMap(); + private final Map> c = new Int2ObjectOpenHashMap<>(); // Paper private final ReadWriteLock d = new ReentrantReadWriteLock(); private boolean e = true; private boolean f; -- 2.8.0