~jameinel/+junk/murmurhash3-go

  • Committer: John Arbash Meinel
  • Date: 2011-06-17 12:37:39 UTC
  • Revision ID: john@arbash-meinel.com-20110617123739-8v5axo4hfucfyuhl
Avoid bounds-checking by going to uintptr types.
This gives us pointer arithmetic again, which go makes it hard to
go around. However, it drops _unsafe to 165us (from about 189us).
My ASM tests seem to indicate that if the compiler generated ROLQ
instructions, it would speed things by another 60us or so.
Which would bring us to 100us vs ~60us for the C++ code.
Probably it all comes down to gcc generating better optimized
assembly than the go compiler.
Filename Latest Rev Last Changed Committer Comment Size
..
simple_murmur3 5 13 years ago John Arbash Meinel Create a reasonably trivial C program to validate Diff
.bzrignore 25 13 years ago John Arbash Meinel Default the number of loops, write a go version so 103 bytes Diff Download File
asm_amd64.s 26 13 years ago John Arbash Meinel Write a Rotl64 function in assembly. It took quite 1.1 KB Diff Download File
Makefile 26 13 years ago John Arbash Meinel Write a Rotl64 function in assembly. It took quite 589 bytes Diff Download File
murmur3.go 28 13 years ago John Arbash Meinel Avoid bounds-checking by going to uintptr types. T 5.8 KB Diff Download File
murmur3_decl.go 26 13 years ago John Arbash Meinel Write a Rotl64 function in assembly. It took quite 226 bytes Diff Download File
murmur3_test.go 26 13 years ago John Arbash Meinel Write a Rotl64 function in assembly. It took quite 4.9 KB Diff Download File
README.txt 1 13 years ago John Arbash Meinel Start a blank project for prototyping the Murmur h 281 bytes Diff Download File
speed_murmur3.go 25 13 years ago John Arbash Meinel Default the number of loops, write a go version so 555 bytes Diff Download File
suite_test.go 2 13 years ago John Arbash Meinel Start actually implementing the Murmur3 hash. Star 1.5 KB Diff Download File