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

HashCode based on xxHash32 #14863

Merged
merged 10 commits into from
Nov 16, 2017
Merged

HashCode based on xxHash32 #14863

merged 10 commits into from
Nov 16, 2017

Commits on Nov 4, 2017

  1. HashCode based on xxHash32

    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). The seed is initialized to random bytes.
    
    Further details, unit tests and history: dotnet/corefx#25013
    Jonathan Dickinson committed Nov 4, 2017
    Configuration menu
    Copy the full SHA
    5fb5b3b View commit details
    Browse the repository at this point in the history
  2. PR Feedback

    * Removing AgressiveInlining from all public facing methods.
    * Fixing erroneous comment
    jcdickinson committed Nov 4, 2017
    Configuration menu
    Copy the full SHA
    30d3d3f View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2017

  1. PR Feedback

    * Adding comment explaining why Combine(value1) performs a hash.
    * Removing superfluous code and attributes.
    * Improving perf of Add(..., null).
    * Moving two lines of code below the giant comment to improve reading locality.
    * Use mod instead of bit twiddling.
    Jonathan Dickinson committed Nov 5, 2017
    Configuration menu
    Copy the full SHA
    af71a1b View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2017

  1. PR Feedback

    * Improving some comments. Ensuring comments wrap at column 80.
    * Fixing GenerateGlobalSeed().
    * Reading _length once in methods.
    * Ignoring overflow.
    * Simplifying some conditions.
    * Using goto for fallthrough in ToHashCode().
    * Adding Equals as a disallowed method.
    * Adding exception message string.
    Jonathan Dickinson committed Nov 7, 2017
    Configuration menu
    Copy the full SHA
    7f80518 View commit details
    Browse the repository at this point in the history
  2. PR Feedback

    * Adding further detail to obsolete and exception message.
     * Fix spacing issues.
    * Restore nested if for ToHashCode.
    Jonathan Dickinson committed Nov 7, 2017
    Configuration menu
    Copy the full SHA
    5bc9095 View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2017

  1. PR Feedback

    * Correcting goto comment.
    * Using different strings for errors.
    * Re-ordering a comment so that it makes more sense.
    * Fixing comment that was still difficult to understand.
    Jonathan Dickinson committed Nov 8, 2017
    Configuration menu
    Copy the full SHA
    bb44e32 View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2017

  1. PR Feedback

    * Removing AggressiveInlining on big method.
    * Reducing number of generic instantiations for Add<T>.
    Jonathan Dickinson committed Nov 14, 2017
    Configuration menu
    Copy the full SHA
    526ef4a View commit details
    Browse the repository at this point in the history
  2. PR Feedback

    * Comment.
    Jonathan Dickinson committed Nov 14, 2017
    Configuration menu
    Copy the full SHA
    f8475ca View commit details
    Browse the repository at this point in the history
  3. Spelling.

    Jonathan Dickinson committed Nov 14, 2017
    Configuration menu
    Copy the full SHA
    80783ce View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2017

  1. PR Feedback

    Slightly optimize Add<T>(,).
    Jonathan Dickinson committed Nov 15, 2017
    Configuration menu
    Copy the full SHA
    94250c7 View commit details
    Browse the repository at this point in the history