Repository navigation
eco 2026.28 optimized.3
维护分支:feature/mcmmo-block-tracker-migration
上游:https://github.com/33444dirge/eco
基线提交:ed16908050454b850a68c8993d4dcf33ad19182b
本次提交:dba1e0fef5426ef3972861585e8dfde596609c97
本版减少物品显示过程中的重复对象分配,包含之前验证的全部三类 eco 优化。
修改内容
- 保留物品包装创建时的独立 PDC 快照,需要时才构造 PDC 容器,保持交错包装与写回行为。
- 对可以证明不含 eco 临时显示标记的原生普通 Lore,跳过一次不必要的文字转换;复杂组件继续使用原流程。
- 显示还原复用物品包装,getLore 减少中间列表。
- 背包显示使用逐槽变化标记替代临时集合,并减少一次列表复制;保持显示顺序、缓存寿命及窗口切换规则。
验证与性能范围
- 使用 Shiroha/Folia 26.2-DEV-28fe077、Java 25,旧版与最终版固定相同依赖及配置。
- clean check shadowJar 通过;发布前再次执行 check 通过,7 个仓库测试无失败、无跳过。
- 352 组 Bukkit/CraftItemStack、Lore、PDC 和 finalized 输出对照一致;每轮 2158 项检查通过。
- PDC/API 68 项回归通过;四个独立区域、四名协议客户端、50 种窗口变化、实际点击取出/放回通过。
- 每项性能基准各版本 3 个独立进程,每进程预热后测 7 轮,使用中位数比较。
- 原生普通 Lore 还原的临时分配减少约 47.5%~47.9%;46 格背包缓存命中减少约 15.6%~57.6%。缓存命中分配基准对双方延长了清理间隔,真实客户端回归恢复原配置。
- 不同 PDC 大小的附魔查找临时分配减少约 1.0%~50.9%;直接 PDC 读写样本增加 8~24 B/次。
- 已登录玩家的两种装备显示耗时中位数分别降低 2.8% 和 9.3%;2.8% 小于运行波动,不能认定稳定提速。区域线程为虚拟线程,逐线程分配计数不可用,因此该组只报告耗时。
- 以上均为局部本机测试,不是整服 TPS、常驻内存或最大在线人数的提升。没有生产服务器 A/B Spark,也未覆盖所有占位符、付费重铸交易、旧核心或满服长期运行。
安装与回退
保留现有配置,正常停服后备份并替换 eco JAR,确保 plugins 中只有一个 eco。本次不需要迁移物品或清理区块数据。回退时恢复备份 JAR 并正常重启。没有操作生产服务器。
产物
eco-2026.28-optimized-3.jar
SHA-256: 641A1544A88F87546A7D072EE367C8C14B254CB172F805D7B3543780D47B6A16
eco-2026.28-optimized-3-source.zip 包含本次提交的实际源码及构建文件。
插件声明版本保持 2026.28;发布标签为 2026.28-optimized.3。