EfficientHashing
Моды / 1.21.1
EfficientHashing - заменяет алгоритм хэширования Vec3i (и его подклассов, таких как BlockPos) на гораздо более устойчивый к коллизиям, что обеспечивает повышение производительности практически везде, где используется его хэш-код.
Устойчивость к коллизиям
Мы можем доказать это, выполнив простой тест. Тест выполняется путем хэширования каждой комбинации между new BlockPos(-100, -20, -100) и new BlockPos(100, 50, 100) (включительно), при этом общее количество объектов достигает более 2 800 000.
Алгоритм Vanilla выдал в общей сложности 194 571 уникальный хэш-код. Это означает, что по меньшей мере 93% всех хэш-кодов блокчейнов совпадают друг с другом.
А алгоритм PhiMix, используемый EfficientHashing, выдал в общей сложности 2868471 уникальный хэш-код. Это означает, что каждый уникальный объект BlockPos получает свой уникальный хэш-код, и ни один из всех хэш-кодов BlockPos не совпадает.
| Уник. хешей | Коллизий | % Коллизий | |
|---|---|---|---|
| Vanilla | 194,571 | 2,673,900 | 93.2% |
| EfficientHashing | 2,868,471 | 0 | 0% |
