Skip to content

Releases: tpn/perfecthash

Release v0.60

19 Jan 03:10
@tpn tpn
v0.60
Compare
Choose a tag to compare

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

04 Jan 00:00
@tpn tpn
v0.59
672771e
Compare
Choose a tag to compare
  • 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

  • Issue41 add penter hooking support by @tpn in #42

Full Changelog: v0.58...v0.59

Release v0.58

28 Dec 23:18
@tpn tpn
v0.58
Compare
Choose a tag to compare
  • 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

08 Dec 00:35
@tpn tpn
v0.57
Compare
Choose a tag to compare
  • 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

02 Dec 02:34
@tpn tpn
v0.56
Compare
Choose a tag to compare
  • Implement two new hash functions: Multiply643ShiftR and Multiply644ShiftR.
  • Upgrade everything to use VS 2022.

Release v0.55

22 Jan 23:02
@tpn tpn
v0.55
Compare
Choose a tag to compare
  • 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

19 Jan 00:51
@tpn tpn
v0.54
Compare
Choose a tag to compare

Implement linear regression and score/rank against the assigned coverage array.

Release v0.52

09 Jan 00:41
@tpn tpn
v0.52
Compare
Choose a tag to compare
  • 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

07 Jan 04:20
@tpn tpn
v0.51
Compare
Choose a tag to compare

Implement support for random number generators.

Release v0.50

29 May 04:55
@tpn tpn
Compare
Choose a tag to compare
  • 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.