
Fast Tag
优化与标签相关的性能
在原版MC中,TagKey 对象通过 Interner 在创建时进行去重,因此不存在多个完全相同的对象(支持通过 identityHashCode 和 == 进行同一性比较)。但由于 TagKey 是一个记录类,它会自动生成基于内部注册表和位置的 hashCode 和 equals 方法,而 Interner 正是依赖这些方法进行去重的。这导致其他地方的 hashCode 和 equals 调用速度远低于同一性比较。本模组用自定义去重器替换了 Interner,并覆盖了记录类生成的 hashCode 和 equals,改用 identityHashCode 和 ==,大幅提升了其他地方的比较与查找性能,同时略微优化了对象创建速度。作为附带改进,ResourceKey 也已切换为这种自定义去重器,提升了创建速度并降低了内存占用。
哪些领域可被优化:标签在MC中广泛使用于物品、方块、流体、实体、世界生成等多个领域,且这些场景都会执行是否包含某标签的检查。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。