Releases: tpn/perfecthash
Releases · tpn/perfecthash
Release v0.60
What's Changed
- Implement the USHORT, 16-bit assigned table data support. by @tpn in #43. This significantly improves performance when solving tables that have less than 64k vertices. This behavior is enabled by default. To disable it, use
--DoNotTryUseHash16Impl
. - Introduce new
--BestCoverageTargetValue=N
command line parameter. - Various tweaks and performance improvements.
Full Changelog: v0.59...v0.60
Release v0.59
- Introduce new function hooking support in order to do real-world performance evaluations of compiled perfect hash tables.
- Add an InterlockedIncrement() CPH routine.
- Various fixes and tweaks.
What's Changed
Full Changelog: v0.58...v0.59
Release v0.58
- Implement new live console output during solving.
- Fix generated compiled hash tables such that they compile and work on Apple Mac Silicon (M1/ARM64).
- Implement new logic for tracking cache line occupancy in the assigned array.
- Miscellaneous improvements.
Full Changelog: v0.57...v0.58
Release v0.57
- Add IACA markers to all compiled outputs, allowing iaca.exe to be run against the resulting .dlls.
- Update and improve usage docs.
- Implement AVX2 and AVX512 optimized versions of GraphHashKeysMultiplyShiftR.
- Implement --DoNotUseAvx2MemoryCoverage parameter.
- Implement --Remark parameter.
- Implement --MaxSolveTimeoutInSeconds parameter.
- Fix a bug that prevented --Compile from working.
Release v0.56
- Implement two new hash functions:
Multiply643ShiftR
andMultiply644ShiftR
. - Upgrade everything to use VS 2022.
Release v0.55
- Implement new graph backend (--GraphImpl=3). Provides big speedups in lots of workflows.
- New command line options for limiting number of attempts made.
- ETW improvements.
Release v0.54
Implement linear regression and score/rank against the assigned coverage array.
Release v0.52
-
Implement a new graph assignment method based on NetBSD's nbperf. Controlled by --GraphImpl. This method is now default, and is incredibly faster than the previous version (upwards of 50% reduction in runtime).
-
Implement --MinNumberOfKeysForFindBestGraph.
-
Implement --MaxNumberOfEqualBestGraphs and fix logic surrounding lowest/highest best graph comparators.
Release v0.51
Implement support for random number generators.
Release v0.50
- Introduce graph collisions during assignment as a new coverage type.
- Implement memset in assembly to get around the issue with the previous release that PGInstrument builds crashed immediately upon startup.