Microsoft Data and Analytics Shared Code - Hash Functions
MIT License
Do you need a simple non-cryptograhic hash algorithm? Do you not want to rely on the internals of GetHashCode()? Do you want to run a hash in a tight loop with low allocation overhead?
If so, then this package might be right for you.
The Data and Analytics team is building it's own high-performance, low-allocation hash algorithms for processing data in various "big data" systems. We've managed to squeeze some pretty astonishing performance out of our implementation. Since it wasn't tightly coupled to anything either, we thought we'd share the goodness with everyone.
We're sharing our code as NuGet "recipe" packages. That means that instead of adding a DLL reference to your code, we're adding the source files themselves. Everything we add is internal and therefore scoped only to that assembly. So, you can freely add this to as many projects as you like without fear of conflicts. We do this for a few reasons:
This source code and artifacts are released under the terms of the MIT License.
The package is available on nuget.org.
If you have Visual Studio installed, open a command prompt and run:
build.cmd
This will download the dependencies, compile the code, run unit tests, and package everything. You should end up with a file named something like Microsoft.Shared.Dna.Hash.{major}.{minor}.{patch}.nupkg under the Drop folder.
Please refer to CONTRIBUTING.md.
If you believe you have found a security vulnerability in this project, please follow these steps to report it. For more information on how vulnerabilities are disclosed, see Coordinated Vulnerability Disclosure.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.