[{"data":1,"prerenderedAt":208},["ShallowReactive",2],{"project-16112405":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":39,"post_text":42,"what":43,"said":62,"maker_in_thread":135,"shape":137,"grid":141,"attempts":170,"same_week":171,"maker_shows":34,"maker_hidden":200,"reader_version":201,"card":202},"16112405","HighwayHash","Go version of HighwayHash with optimized assembly implementations","title","Show HN: Go version of HighwayHash with optimized assembly implementations","https:\u002F\u002Fgithub.com\u002Fminio\u002Fhighwayhash","github.com","y4m4b4",1515555922,2018,48,13,809,2155,38,"shown","languages","hashing library","library",[24,25,26,27],"highwayhash","go hash function","non-cryptographic hash","xxhash comparison","curious",0.067,{"positive":31,"neutral":32,"mixed":33,"critical":31},1,4,0,6,{"performance":36,"docs":37,"privacy":38},{"positive":31,"critical":33},{"positive":33,"critical":33},{"positive":33,"critical":31},[40,33,33,33,33,33,33,33,41,40,40,31,40],3,5,null,{"problem":44,"audience":42,"pricing":42,"motivation":42,"time_to_build":42,"stack":50,"openness":60,"stage":61,"team_size":61},{"value":45,"source":46,"evidence":47},"Fast non-cryptographic hashing in Go","inferred",[48],{"id":49},"post",[51,56],{"value":52,"source":53,"evidence":54},"Go","maker",[55],{"id":49},{"value":57,"source":53,"evidence":58},"Assembly",[59],{"id":49},"open_source","unknown",{"praise":63,"objections":72,"requests":98,"questions":106,"alternatives":115},[64],{"value":65,"source":66,"evidence":67},"Very fast compared to alternatives","commenter",[68],{"id":69,"by":70,"text":71},"16114555","danesparza","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:…",[73,84,91],{"value":74,"source":66,"evidence":75},"Benchmarks not comparable across different CPUs",[76,80],{"id":77,"by":78,"text":79},"16120451","loeg","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…",{"id":81,"by":82,"text":83},"16113855","zuzun","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…",{"value":85,"source":66,"evidence":86},"Slower on longer messages than SipHash-style hashes for small inputs",[87],{"id":88,"by":89,"text":90},"16114621","tromp","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…",{"value":92,"source":66,"evidence":93},"Not suitable for hash tables with untrusted input (collision attacks)",[94],{"id":95,"by":96,"text":97},"16120396","rurban","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…",[99],{"value":100,"source":66,"evidence":101},"Apples-to-apples benchmark against xxHash",[102,105],{"id":103,"by":78,"text":104},"16113485","How does performance compare with XXhash, possibly the current leader in the non-cryptographic hash category?",{"id":77,"by":78,"text":79},[107,111],{"value":108,"source":66,"evidence":109},"How does it compare with xxHash performance?",[110],{"id":103,"by":78,"text":104},{"value":112,"source":66,"evidence":113},"What is the threshold for strong collision resistance?",[114],{"id":69,"by":70,"text":71},[116,124,129],{"value":117,"source":66,"evidence":118},"xxHash",[119,120],{"id":103,"by":78,"text":104},{"id":121,"by":122,"text":123},"16114363","bla2","xxHash has a 64-bit version.",{"value":125,"source":66,"evidence":126},"SipHash",[127,128],{"id":88,"by":89,"text":90},{"id":95,"by":96,"text":97},{"value":130,"source":66,"evidence":131},"MetroHash",[132],{"id":133,"by":82,"text":134},"16114538","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…",{"comments":33,"answered":33,"key":136},[],{"commenters":138,"max_depth":41,"maker_replies":33,"first_comment_mins":139,"lifespan_hours":140},8,319,21,[142,144,146,147,148,149,151,154,157,159,163,166,168],[103,33,40,143,78,33],"project\u002Fneutral\u002Fperformance",[81,33,33,145,82,33],"commenter\u002Fneutral\u002Fperformance",[121,33,33,145,122,33],[133,33,33,145,82,33],[77,33,33,145,78,33],[150,33,33,145,78,33],"16120447",[152,33,33,153,96,33],"16114766","other\u002Fneutral\u002Fperformance",[155,33,33,156,78,33],"16120453","commenter\u002Fneutral\u002Fnone",[69,31,41,158,70,33],"project\u002Fpositive\u002Fperformance",[160,31,40,161,162,33],"16114850","project\u002Fneutral\u002Fdocs","gpderetta",[164,31,40,143,165,33],"16115521","fwessels",[95,31,31,167,96,33],"project\u002Fcritical\u002Fprivacy",[88,169,40,143,89,33],2,[],[172,177,181,186,191,196],{"id":173,"name":174,"points":175,"category":176},"16070394","PAST",362,"security_privacy",{"id":178,"name":179,"points":180,"category":20},"16090977","A simple Go web server with logging, tracing, health check",318,{"id":182,"name":183,"points":184,"category":185},"16086800","Eel",201,"dev_tools",{"id":187,"name":188,"points":189,"category":190},"16108701","Hooks Data API",145,"data",{"id":192,"name":193,"points":194,"category":195},"16095477","Pushup alarm",134,"consumer_social",{"id":197,"name":198,"points":199,"category":20},"16117047","Nerv",133,false,"v2",{"id":203,"name":5,"line":6,"ai":200,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":204,"top":18,"kw":205,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":206,"url":9,"mix":207,"praise":65,"objection":74,"sub":21},16112405,0.07,[24,25,26,27],"3000000053313",[31,32,33,31],1794036562485]