diff options
author | Travis Watkins <amaranth@ubuntu.com> | 2012-08-17 18:53:59 -0500 |
---|---|---|
committer | Travis Watkins <amaranth@ubuntu.com> | 2012-08-19 09:51:00 -0500 |
commit | 97ac0a3f145ab7e2c20ece3ed0f45f2f90a645c1 (patch) | |
tree | 362a98defe88802575186aa82977b6f1dabc3633 /src/main/java/net/minecraft/server/ChunkProviderServer.java | |
parent | 7b20caf8fe1866fdfcc6e90e76703ed14c7da4ba (diff) | |
download | craftbukkit-97ac0a3f145ab7e2c20ece3ed0f45f2f90a645c1.tar craftbukkit-97ac0a3f145ab7e2c20ece3ed0f45f2f90a645c1.tar.gz craftbukkit-97ac0a3f145ab7e2c20ece3ed0f45f2f90a645c1.tar.lz craftbukkit-97ac0a3f145ab7e2c20ece3ed0f45f2f90a645c1.tar.xz craftbukkit-97ac0a3f145ab7e2c20ece3ed0f45f2f90a645c1.zip |
Add LongObjectHashMap and LongHashSet
Replace uses of LongHashtable and LongHashset with new implementations.
Remove EntryBase, LongBaseHashtable, LongHashset, and LongHashtable as they
are no longer used.
LongObjectHashMap does not use Entry or EntryBase classes internally for
storage so has much lower object churn and greater performance. LongHashSet
is not as much of performance win for our use case but for general use is
up to seventeen times faster than the old implementation and is in fact
faster than alternatives from "high performance" java libraries. This is
being added so that if someone tries to use it in the future in a place
unrelated to its current use they don't accidentally end up with something
slower than the Java collections HashSet implementation.
Diffstat (limited to 'src/main/java/net/minecraft/server/ChunkProviderServer.java')
-rw-r--r-- | src/main/java/net/minecraft/server/ChunkProviderServer.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java index 3242f440..6a5fe5b3 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -11,20 +11,20 @@ import java.util.Set; import java.util.Random; import org.bukkit.Server; -import org.bukkit.craftbukkit.util.LongHashset; -import org.bukkit.craftbukkit.util.LongHashtable; +import org.bukkit.craftbukkit.util.LongHashSet; +import org.bukkit.craftbukkit.util.LongObjectHashMap; import org.bukkit.event.world.ChunkUnloadEvent; // CraftBukkit end public class ChunkProviderServer implements IChunkProvider { // CraftBukkit start - public LongHashset unloadQueue = new LongHashset(); + public LongHashSet unloadQueue = new LongHashSet(); public Chunk emptyChunk; public IChunkProvider chunkProvider; // CraftBukkit private IChunkLoader e; public boolean forceChunkLoad = false; // true -> false - public LongHashtable<Chunk> chunks = new LongHashtable<Chunk>(); + public LongObjectHashMap<Chunk> chunks = new LongObjectHashMap<Chunk>(); public List chunkList = new ArrayList(); public WorldServer world; // CraftBukkit end |