Browse Source

changed []byte to string after finding out string indexing is faster than []byte in Go, since we're never modifying our string and only working with the accumulator we should see an improvement in speed in general

master
William Dillon 2 years ago
parent
commit
cb20cac2f1
1 changed files with 3 additions and 3 deletions
  1. 3
    3
      mishmash.go

+ 3
- 3
mishmash.go View File

@@ -38,7 +38,7 @@ func slct(n uint64) uint32 {
return primes[n&0xff]
}

func Engine(buffer []byte, length int, accumulator uint64) uint64 {
func Engine(buffer string, length int, accumulator uint64) uint64 {
for i := 0; i < length; i++ {
b := buffer[i]
accumulator += uint64(slct(accumulator)) + uint64(b)
@@ -48,7 +48,7 @@ func Engine(buffer []byte, length int, accumulator uint64) uint64 {
return accumulator
}

func Mishmash(buffer []byte, nums ...uint64) uint32 {
func Mishmash(buffer string, nums ...uint64) uint32 {
// nums is a seed/accumulator
var accumulator uint64
if 0 == len(nums) {
@@ -88,7 +88,7 @@ func main() {
// example below used to validate output against C++ mishmash
/*
func main() {
buf := []byte("Hello world!")
buf := "Hello world!"
first := MishmashAccumulator(Engine(buf, len(buf), 0))
second := MishmashAccumulator(Engine(buf, len(buf), 1))
var combo uint64

Loading…
Cancel
Save