Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.
/ corefx Public archive

HashCode based on xxHash32 #25013

Merged
merged 11 commits into from
Dec 13, 2017
Merged

HashCode based on xxHash32 #25013

merged 11 commits into from
Dec 13, 2017

Commits on Nov 2, 2017

  1. HashCode based on xxHash32 (#14354)

    Works by maintaining the xxHash32 state variables (v1 -> v4, length) as well as a queue of values that fall outside of the block size (16 bytes/4 ints). Seed is assumed to be zero as there is no seed ctor in the proposal - however, it is possible to add a seed without changing the structure.
    
    Tests against known xxHash32 vectors are provided ("abcd1234efgh5678...").
    Jonathan Dickinson committed Nov 2, 2017
    Configuration menu
    Copy the full SHA
    559d006 View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2017

  1. Feedback on PR

    Order of members now matches the proposal, if that matters. Combine methods are unrolled for perf. Removed superfluous attributes.
    
    Test vector tests are now optional (behind SYSTEM_HASHCODE_TESTVECTORS def) as the random seed will break these tests. Defining SYSTEM_HASHCODE_TESTVECTORS will disable the per-AppDomain random seed. Combine is now tested against the behavior of Add.
    Jonathan Dickinson committed Nov 3, 2017
    Configuration menu
    Copy the full SHA
    e9a5e0a View commit details
    Browse the repository at this point in the history
  2. Feature system hashcode staged (#1)

    PR Feeback
    
    * Code style cleanups.
    * Unessecary fields and structlayout removed from ref.
    * Correct attribution applied.
    * More perf tests.
    * Perf tests prevent the jitter from removing dead code that we might care about.
    * Fixed false positive in tests.
    * Don't use float types for tests.
    * Remove AllowUnsafeBlocks.
    * Disable compilation for netfx.
    * Removing 0 prefix from constants.
    * Removing unchecked scopes.
    * Removing 4 reads of s_seed in Initialize.
    * Ensure that all methods are inlined. Some parameters changed to ref to do this.
    * Changing exception to NotSupportedException.
    * GetHashCode is NoInlining so that it is display in the stack trace.
    jcdickinson authored Nov 3, 2017
    Configuration menu
    Copy the full SHA
    9690fa0 View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2017

  1. PR Feedback

    * Fix test issue.
    * Remove unnecessary optimization.
    * Default comparer to EqualityComparer<T>.Default.
    * Add info on how test vectors are added.
    jcdickinson authored Nov 4, 2017
    Configuration menu
    Copy the full SHA
    32b83d7 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2017

  1. * Removing 3rd party notices. (#3)

    * Remove HashCode.cs
    jcdickinson authored Nov 17, 2017
    Configuration menu
    Copy the full SHA
    07879b4 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2017

  1. PR Feedback

    Jonathan Dickinson authored and Jonathan Dickinson committed Dec 4, 2017
    Configuration menu
    Copy the full SHA
    4c45da5 View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2017

  1. PR Feedback

    Jonathan Dickinson committed Dec 5, 2017
    Configuration menu
    Copy the full SHA
    20913b7 View commit details
    Browse the repository at this point in the history
  2. Adding documentation above HashCode_Add.

    Jonathan Dickinson committed Dec 5, 2017
    Configuration menu
    Copy the full SHA
    a9a6d7f View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2017

  1. Additional unit tests

    Jonathan Dickinson committed Dec 6, 2017
    Configuration menu
    Copy the full SHA
    638b55b View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2017

  1. Additional tests

    Jonathan Dickinson authored and Jonathan Dickinson committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    4b0ca46 View commit details
    Browse the repository at this point in the history
  2. Fix compilation issue.

    Jonathan Dickinson authored and Jonathan Dickinson committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    07aa81d View commit details
    Browse the repository at this point in the history