Repository navigation
Libreforge 2026.27 · Memory Fix 7
Libreforge 2026.27 · Memory Fix 7
本发布汇总已验收的 memoryfix-5、6、7 优化,基于已同步的上游源码,保留此前修复。插件内部版本仍为 2026.27。
更新内容
- 空装备槽在进入物品 finder 前跳过 AIR、CAVE_AIR、VOID_AIR;普通物品仍参与判定,不按“无附魔/无 ItemMeta”误跳过。
- 每个长期存在的 Effect 最多复用 64 组不可变标识;原子发布,不缓存实体或物品,超出范围沿用原算法。
- Holder 扫描复用已有映射检查变化,省去两组临时差集;保留重复 ID、事件顺序和最新 payload。
- 效果筛选不再先创建中间列表再转集合;仍按原顺序判断每一个效果的条件,包括重复项。
- 附带回归测试。未纳入原地排序、血量事件合并或空状态差集实验;不修改 eco。
验证与收益边界
发布前执行 clean check :core:buildStandalone,25 项测试通过,并独立验证 JAR 描述、CRC、主类和 Folia 声明。Java 25.0.3 / Gradle 9.3.1,编译目标 Java 21。Windows 非 ASCII 测试依赖路径使用字节一致副本。
此前在用户提供的 Shiroha 26.2 隔离核心完成新旧版对照:4 个独立 region,每区 128 实体。memoryfix-7 自身完成 1,228,800 次刷新与 20,000 次血量事件;覆盖装备、卸下、重新装备、叠加、拾取、切主手、取消事件及清理。新旧两组累计刷新 2,457,600 次。
相对 memoryfix-6,真实 getProvidedActiveEffects 组件每次调用分配:单效果 304→224 B(-26.3%)、双效果 576→496 B(-13.9%)、16 效果 2,008→1,904 B(-5.2%)。这些是指定场景的临时分配,不是整服常驻内存降幅。延迟仍有波动,不承诺每种场景 CPU 都更快,也不代表生产全部配置及外部插件组合已验证。
安装与回滚
正常停服,备份旧 libreforge JAR 后替换,只保留一份;配置不需要修改。不要热替换。不满意时正常停服换回备份。没有自动部署到生产服务器。
文件:libreforge-standalone-2026.27-memoryfix-7.jar
SHA-256:E76154E7818D7E1671E760625F23E1F1B0C8C9DACC1C2B8A78C147BDED0821FA