3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2024-11-14 20:10:05 +01:00

Use reference hash set in reference Holder (#11363)

Dieser Commit ist enthalten in:
Nassim Jahnke 2024-09-06 21:03:17 +02:00 committet von GitHub
Ursprung b483da4e02
Commit ff251e42b6
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: B5690EEEBB952194

Datei anzeigen

@ -1,9 +1,23 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com> From: Jake Potrebic <jake.m.potrebic@gmail.com>
Date: Sun, 20 Mar 2022 22:06:47 -0700 Date: Sun, 20 Mar 2022 22:06:47 -0700
Subject: [PATCH] cache resource keys Subject: [PATCH] Cache resource keys and optimize reference Holder tags set
TagKeys are always interned, so we can use a reference hash set for them
diff --git a/src/main/java/net/minecraft/core/Holder.java b/src/main/java/net/minecraft/core/Holder.java
index d7bbf60ba94ecd85f991a0c5c70c34fdb00ec9d5..4d2231868b786da9071c3dff2c073b478a486e8a 100644
--- a/src/main/java/net/minecraft/core/Holder.java
+++ b/src/main/java/net/minecraft/core/Holder.java
@@ -221,7 +221,7 @@ public interface Holder<T> {
}
void bindTags(Collection<TagKey<T>> tags) {
- this.tags = Set.copyOf(tags);
+ this.tags = java.util.Collections.unmodifiableSet(new it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet<>(tags)); // Paper
}
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java
index 95b956802f83b583a823fcd24808363775a56842..33d2e89ac40465b0c4633f9c51378b80f7c397a9 100644 index 95b956802f83b583a823fcd24808363775a56842..33d2e89ac40465b0c4633f9c51378b80f7c397a9 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java