McLists一周年快乐
服务器已经添加了详细介绍信息板块
服主可以在管理后台来提交自己服务器介绍信息。
服务器介绍信息提交后,管理人员会进行审核
审核通过后会在服务器详细页面进行显示
提交服务器介绍信息会让新玩家更好的了解你的服务器哦~
添加图片信息,也会让百度等搜索引擎更好的收录您的服务器哦~
管理平台地址:传送门
EfficientHashing

EfficientHashing - 高效哈希

改进的Vec3i与BlockPos哈希算法
fabric / forge / neoforge 作者 ZZZank 支持版本 1.18 - 1.21.1
下载量
55,369
关注数
7
数据来源
Modrinth
模组详细介绍

EfficientHashing

EfficientHashing 将 Vec3i(及其子类如 BlockPos)的哈希算法替换为一种碰撞抵抗能力显著更强的算法,从而在几乎所有使用其哈希码的场景中带来性能提升。

碰撞抵抗性

我们可以通过一个简单的测试来证明这一点。测试方法是对 new BlockPos(-100, -20, -100)new BlockPos(100, 50, 100)(包含两端)之间的所有 BlockPos 组合进行哈希计算,总对象数量超过 2,800,000 个。

原版算法总共产生了 194,571 个唯一的哈希码。这意味着至少有 93% 的 BlockPos 哈希码彼此发生了碰撞。

而 EfficientHashing 使用的 PhiMix 算法总共产生了 2,868,471 个唯一的哈希码。这意味着每个唯一的 BlockPos 对象都获得了其独有的哈希码,并且所有 BlockPos 哈希码中没有发生任何碰撞

唯一哈希码数量 碰撞次数 碰撞率
原版算法 194,571 2,673,900 93.2%
EfficientHashing 2,868,471 0 0%

如果您对实际的测试代码感兴趣,请参阅:此处

性能表现

基准测试结果:

Benchmark                     Mode  Cnt   Score   Error  Units
VecHashingBenchmark.mixin    thrpt    5  47.012 ± 1.029  ops/s
VecHashingBenchmark.vanilla  thrpt    5  49.326 ± 1.507  ops/s

PhiMix 的性能约为原版哈希算法的 95.3%。是的,它确实稍慢一些,但与其他哈希解决方案相比,这种性能差距相对微小,并且可以通过哈希碰撞抵抗能力的显著提升轻松弥补。

如果您对实际的基准测试代码感兴趣,请参阅:此处

与原版兼容

在原版哈希算法中,如果您对 BlockPos/Vec3i 的“默认”实例(即 new BlockPos(0, 0, 0))进行哈希计算,生成的哈希码将是 0,这恰好是整数的“默认”值。PhiMix 也保留了这一特殊行为,提供了最佳的与原版兼容性。

基本信息
模组名称EfficientHashing
作者ZZZank
下载量55,369
关注数7
支持版本1.18 - 1.21.1
加载器fabric / forge / neoforge
客户端required
服务端required

友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作

历史访问人数:89,686  |  历史访问人次:179,562

今日访问人数:420  |  今日访问人次:434

昨日访问人数:19,978  |  昨日访问人次:22,291

Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.

Powered by GermMC 京ICP备17023959号-6