Skip to content

性能与内存影响

概述

Stack Size Adjuster 专为极致性能打造,保证零内存额外开销与零 NBT 膨胀。


⚡ 核心性能优化设计

  1. 原生类型值存储:当前生效上限保存在 StackSizeManagervolatile int 原生字段中,确保堆叠上限计算期间享有 $O(1)$ 的无锁瞬时读取访问。
  2. 零 NBT 膨胀:不同于注入自定义 NBT 标签追踪堆叠的传统模组,Stack Size Adjuster 直接挂钩原版组件数据(DataComponents.MAX_STACK_SIZE)与 ExtraCodecs.intRange(1, Integer.MAX_VALUE)。保存的存档体积与原版 100% 一致。
  3. 无每刻监听器:本模组在游戏刻循环(EndTickWorldTick)中不执行任何逻辑。仅在物品堆叠查询、命令调用或破坏容器时按需执行代码。
  4. 高效线程安全覆盖:外部附属覆盖规则维护在 CopyOnWriteArrayList<BiFunction<Item, Integer, Integer>> 中,提供线程安全的无锁迭代。

📊 内存与 CPU 占用基准测试

指标维度实测影响优化技术原理
堆内存分配$< 50\text{ KB}$堆叠检查期间零临时对象创建
世界存档数据膨胀$+0\text{ 字节}$原生组件 Codec 调整,无附加标签
服务端刻耗时 (MSPT)$0.00\text{ ms}$无锁原生读取;零每刻循环消耗
破坏容器瞬时 MSPT$< 0.50\text{ ms}$InventoryDropHelper 实体生成上限截流

Official documentation & web portal for Dasik Igaijinn mods.