All Projects → orisano → Wyhash

orisano / Wyhash

Licence: mit
A pure-Go wyhash implementation.

Programming Languages

go
31211 projects - #10 most used programming language

Labels

Projects that are alternatives of or similar to Wyhash

Ethereumjs Util
Project is in active development and has been moved to the EthereumJS monorepo.
Stars: ✭ 534 (+2442.86%)
Mutual labels:  hash
Hash Set
#️⃣ Set with custom equality comparisons
Stars: ✭ 6 (-71.43%)
Mutual labels:  hash
Sooty
The SOC Analysts all-in-one CLI tool to automate and speed up workflow.
Stars: ✭ 867 (+4028.57%)
Mutual labels:  hash
Name That Hash
🔗 Don't know what type of hash it is? Name That Hash will name that hash type! 🤖 Identify MD5, SHA256 and 3000+ other hashes ☄ Comes with a neat web app 🔥
Stars: ✭ 540 (+2471.43%)
Mutual labels:  hash
Robin Hood Hashing
Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20
Stars: ✭ 658 (+3033.33%)
Mutual labels:  hash
Node
Stampery API for NodeJS. Notarize all your data using the blockchain
Stars: ✭ 23 (+9.52%)
Mutual labels:  hash
Pg pathman
Partitioning tool for PostgreSQL
Stars: ✭ 509 (+2323.81%)
Mutual labels:  hash
Webpack Hashed Chunkids
a plugin to help webpack to generate unique chunk id based on unique module id
Stars: ✭ 15 (-28.57%)
Mutual labels:  hash
Free Style
Make CSS easier and more maintainable by using JavaScript
Stars: ✭ 693 (+3200%)
Mutual labels:  hash
Parallel Hashmap
A family of header-only, very fast and memory-friendly hashmap and btree containers.
Stars: ✭ 858 (+3985.71%)
Mutual labels:  hash
Xxhash
Extremely fast non-cryptographic hash algorithm
Stars: ✭ 5,783 (+27438.1%)
Mutual labels:  hash
Jquery.localscroll
Animated anchor navigation made easy with jQuery
Stars: ✭ 624 (+2871.43%)
Mutual labels:  hash
Jsoo router
A small router to write easily single-page-app in Js_of_ocaml
Stars: ✭ 24 (+14.29%)
Mutual labels:  hash
Specs
Content-addressed, authenticated, immutable data structures
Stars: ✭ 539 (+2466.67%)
Mutual labels:  hash
Flickrsync
A command line tool to synchronise, upload, download, pictures between the local file system and Flickr. Image hash signature of the picture is used to uniquely identify the image.
Stars: ✭ 14 (-33.33%)
Mutual labels:  hash
John
John the Ripper jumbo - advanced offline password cracker, which supports hundreds of hash and cipher types, and runs on many operating systems, CPUs, GPUs, and even some FPGAs
Stars: ✭ 5,656 (+26833.33%)
Mutual labels:  hash
Hashtopolis
A Hashcat wrapper for distributed hashcracking
Stars: ✭ 835 (+3876.19%)
Mutual labels:  hash
Hashapi Lib Node
Tierion Hash API client library for Node.js
Stars: ✭ 20 (-4.76%)
Mutual labels:  hash
Java Crypto Utils
Java Cryptographic, Encoding and Hash Utilities
Stars: ✭ 15 (-28.57%)
Mutual labels:  hash
Hash map
Nicer way to map your hashes
Stars: ✭ 8 (-61.9%)
Mutual labels:  hash

wyhash

CircleCI GoDoc

A pure-Go wyhash implementation.

How to use

package main

import (
	"flag"
	"fmt"
	"io"
	"os"

	"github.com/orisano/wyhash"
)

func main() {
	seed := flag.Int("s", 0, "seed value")
	flag.Parse()

	h := wyhash.New(uint64(*seed))
	io.Copy(h, os.Stdin)
	fmt.Printf("%x\n", h.Sum64())
}

Benchmark

$ go test -bench . -count=5
goos: linux
goarch: amd64
pkg: github.com/orisano/wyhash
BenchmarkHash8Bytes-36             	239112354	         5.02 ns/op	1593.40 MB/s
BenchmarkHash8Bytes-36             	238774428	         5.02 ns/op	1593.65 MB/s
BenchmarkHash8Bytes-36             	239230683	         5.02 ns/op	1593.35 MB/s
BenchmarkHash8Bytes-36             	233548692	         5.03 ns/op	1589.73 MB/s
BenchmarkHash8Bytes-36             	240766962	         5.01 ns/op	1596.49 MB/s
BenchmarkHash320Bytes-36           	39866637	        30.2 ns/op	10602.81 MB/s
BenchmarkHash320Bytes-36           	38263518	        30.1 ns/op	10626.23 MB/s
BenchmarkHash320Bytes-36           	39905398	        30.2 ns/op	10607.83 MB/s
BenchmarkHash320Bytes-36           	39833031	        30.1 ns/op	10632.60 MB/s
BenchmarkHash320Bytes-36           	39827767	        30.1 ns/op	10648.74 MB/s
BenchmarkHash1K-36                 	13151994	        91.5 ns/op	11191.01 MB/s
BenchmarkHash1K-36                 	13109916	        91.5 ns/op	11187.74 MB/s
BenchmarkHash1K-36                 	13137547	        91.6 ns/op	11183.96 MB/s
BenchmarkHash1K-36                 	13094876	        91.6 ns/op	11173.48 MB/s
BenchmarkHash1K-36                 	13119465	        91.7 ns/op	11170.75 MB/s
BenchmarkHash8K-36                 	 1818872	       662 ns/op	12378.54 MB/s
BenchmarkHash8K-36                 	 1815982	       657 ns/op	12475.84 MB/s
BenchmarkHash8K-36                 	 1810904	       675 ns/op	12143.65 MB/s
BenchmarkHash8K-36                 	 1790918	       670 ns/op	12232.80 MB/s
BenchmarkHash8K-36                 	 1815848	       660 ns/op	12407.03 MB/s
BenchmarkDigest_Hash8Bytes-36      	75824784	        15.8 ns/op	 504.92 MB/s
BenchmarkDigest_Hash8Bytes-36      	75778485	        15.8 ns/op	 505.87 MB/s
BenchmarkDigest_Hash8Bytes-36      	75971301	        16.1 ns/op	 496.39 MB/s
BenchmarkDigest_Hash8Bytes-36      	73296864	        15.8 ns/op	 506.77 MB/s
BenchmarkDigest_Hash8Bytes-36      	75797804	        15.8 ns/op	 507.25 MB/s
BenchmarkDigest_Hash320Bytes-36    	32235518	        37.4 ns/op	8567.48 MB/s
BenchmarkDigest_Hash320Bytes-36    	31975928	        38.2 ns/op	8384.57 MB/s
BenchmarkDigest_Hash320Bytes-36    	32122788	        37.5 ns/op	8544.50 MB/s
BenchmarkDigest_Hash320Bytes-36    	31351216	        37.5 ns/op	8542.51 MB/s
BenchmarkDigest_Hash320Bytes-36    	32137383	        37.5 ns/op	8522.40 MB/s
BenchmarkDigest_Hash1K-36          	12877767	        92.9 ns/op	11020.89 MB/s
BenchmarkDigest_Hash1K-36          	12920068	        92.8 ns/op	11028.94 MB/s
BenchmarkDigest_Hash1K-36          	12926998	        92.9 ns/op	11024.32 MB/s
BenchmarkDigest_Hash1K-36          	12930212	        93.1 ns/op	10996.36 MB/s
BenchmarkDigest_Hash1K-36          	12938821	        93.0 ns/op	11012.81 MB/s
BenchmarkDigest_Hash8K-36          	 1798011	       675 ns/op	12134.26 MB/s
BenchmarkDigest_Hash8K-36          	 1794015	       668 ns/op	12258.51 MB/s
BenchmarkDigest_Hash8K-36          	 1796629	       668 ns/op	12261.52 MB/s
BenchmarkDigest_Hash8K-36          	 1795533	       669 ns/op	12251.80 MB/s
BenchmarkDigest_Hash8K-36          	 1793821	       664 ns/op	12329.72 MB/s
PASS
ok  	github.com/orisano/wyhash	58.638s

Author

Nao Yonashiro (@orisano)

License

MIT

Reference

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].