Closed ghost closed 1 year ago
Hey @source-transformer! Thanks for submitting this issue.
SwissMap, like SwissTable, is designed around the SSE instruction set, which is x86-specific. The dependency you mentioned above, thepudds/swisstable
, is another Swiss Table implementation in Go. I included it in the tests as a benchmarking comaprison, but it seems to only support x86/amd64 platforms. If your machine is amd64, you shouldn't have an issue, but if you're using a newer mac, you may be running on Arm64 and thepudds/swisstable
will break. Do you mind running this to confirm?
go env GOARCH
For non-x86 platforms, this repo has a fallback implementation without SIMD instructions. Given that the thepudds
implementation does not, I should probably remove it as a dependency.
right you are - I'll give the fallback implementation a try when I next take a look at this.
Thanks!
I'm getting the following error:
Whenever I try to run the tests.
I took a peek at the package "thepudds/swisstable" and I noticed this file:
match_amd64.s
which looks like it should be providing the stub for AMD64 - but doesn't seem to be. I am running on a Mac with AMD64.
In regards to what I've tried - before I tried running the tests - I ran the following:
which did install the following:
Then when I tried to run the tests and I got the same error - I also ran the following:
I did check out the README.md here: https://github.com/thepudds/swisstable
But, didn't see anything with regards to special instructions for AMD64.
Thanks!