HighwayHash

Languages and libraries

hashing library

SHOW HN2018

HighwayHash

Go version of HighwayHash with optimized assembly implementations

github.com

#highwayhash#go hash function#non-cryptographic hash#xxhash comparison

48points
13comments
#809of 2,155 in 2018
Top 38%of 2018 by points

How HN took it

CuriousMostly questions and neutral comments

1 positive, 4 neutral or asking, 0 mixed, 1 critical, out of 6 comments about the project. Thread score +0.07.

Performance: 1 for, 0 againstPrivacy: 0 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Very fast compared to alternatives

    From 1 comment
    • This seems incredibly fast. Taking the benchmarks on the sites at face value, this seems like it's roughly twice as fast as xxHash. I also appreciate this line in the README:…
      danesparza on HN

Objections

  • Benchmarks not comparable across different CPUs

    From 2 comments
    • Not sure what you're trying to say. I'm asking for an apples-to-apples comparison here. Using one figure from a random CPU on github and comparing it to another figure from a…
      loeg on HN
    • The benchmarks on the xxHash Github page were done on a 32-bit system using an old Visual C++ compiler. Of course you can beat hash functions that were explicitly designed for…
      zuzun on HN
  • Slower on longer messages than SipHash-style hashes for small inputs

    From 1 comment
    • Note that performance is strongly dependent on message size. My Cuckoo Cycle proof of work hashes roughly a billion 8-byte messages with the 'cryptographically strong' SipHash in…
      tromp on HN
  • Not suitable for hash tables with untrusted input (collision attacks)

    From 1 comment
    • It's used for 32bit hashes in hash tables, so brute forcing this to create thousands of collisions on a desktop PC takes 2-4 min. Same for SipHash btw. For hash tables you should…
      rurban on HN

Requests

  • Apples-to-apples benchmark against xxHash

    From 2 comments
    • How does performance compare with XXhash, possibly the current leader in the non-cryptographic hash category?
      loeg on HN
    • Not sure what you're trying to say. I'm asking for an apples-to-apples comparison here. Using one figure from a random CPU on github and comparing it to another figure from a…
      loeg on HN

Questions

  • How does it compare with xxHash performance?

    From 1 comment
    • How does performance compare with XXhash, possibly the current leader in the non-cryptographic hash category?
      loeg on HN
  • What is the threshold for strong collision resistance?

    From 1 comment
    • This seems incredibly fast. Taking the benchmarks on the sites at face value, this seems like it's roughly twice as fast as xxHash. I also appreciate this line in the README:…
      danesparza on HN

Alternatives named

  • xxHash

    From 2 comments
    • How does performance compare with XXhash, possibly the current leader in the non-cryptographic hash category?
      loeg on HN
    • xxHash has a 64-bit version.
      bla2 on HN
  • SipHash

    From 2 comments
    • Note that performance is strongly dependent on message size. My Cuckoo Cycle proof of work hashes roughly a billion 8-byte messages with the 'cryptographically strong' SipHash in…
      tromp on HN
    • It's used for 32bit hashes in hash tables, so brute forcing this to create thousands of collisions on a desktop PC takes 2-4 min. Same for SipHash btw. For hash tables you should…
      rurban on HN
  • MetroHash

    From 1 comment
    • All modern hashes are designed for 64-bit architectures and some even rely on recent instruction sets. So a benchmark on an old 32-bit CPU isn't indicative of the performance…
      zuzun on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/16112405)