File tree Expand file tree Collapse file tree 1 file changed +5
-2
lines changed
forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/forge_registry_alloc Expand file tree Collapse file tree 1 file changed +5
-2
lines changed Original file line number Diff line number Diff line change 11package org .embeddedt .modernfix .forge .mixin .perf .forge_registry_alloc ;
22
3+ import it .unimi .dsi .fastutil .objects .Object2ObjectOpenHashMap ;
34import net .minecraft .core .Holder ;
45import net .minecraft .resources .ResourceKey ;
56import net .minecraft .resources .ResourceLocation ;
1415
1516@ Mixin (value = ForgeRegistry .class , remap = false )
1617public abstract class ForgeRegistryMixin <V > {
17- @ Shadow @ Final private Map <ResourceLocation , Holder .Reference <V >> delegatesByName ;
18+ // Replace the backing maps with fastutil maps for a bit more speed, since value->holder lookups in particular
19+ // are a bottleneck in many areas (e.g. render type lookup)
20+ @ Shadow @ Final private Map <ResourceLocation , Holder .Reference <V >> delegatesByName = new Object2ObjectOpenHashMap <>();
1821
19- @ Shadow @ Final private Map <V , Holder .Reference <V >> delegatesByValue ;
22+ @ Shadow @ Final private Map <V , Holder .Reference <V >> delegatesByValue = new Object2ObjectOpenHashMap <>() ;
2023
2124 /**
2225 * @author embeddedt
You can’t perform that action at this time.
0 commit comments