問題を送信する前に、これらの質問に答えてください。 ありがとう!
go version
)?go version devel +5cdb3d0 2016-03-22 20:35:53 +0000 linux/amd64
go env
)?go get -u github.com/OneOfOne/xxhash
go test -bench=XXChecksum64\$ -benchtime 3s -tags safe github.com/OneOfOne/xxhash
BenchmarkXXChecksum64-32 20000000 291 ns/op
BenchmarkXXChecksum64-8 5000000 870 ns/op
バイセクトを実行しましたが、問題のコミットは69a7c152a72c713032498bfbc6ec7c41d84a4b63です。
これは、69a7c15がcombine-8-byte-loads-into-a-quadword-loadの最適化を破ったように見えます。 それが減速の原因です。 理由がわかるかどうか見ていきます。
CLhttps : //golang.org/cl/21004はこの問題について言及しています。
CLhttps : //golang.org/cl/21005はこの問題について言及しています。