segmentio / asm

Go library providing algorithms optimized to leverage the characteristics of modern CPUs
MIT No Attribution
869 stars 36 forks source link

purego #49

Closed achille-roussel closed 3 years ago

achille-roussel commented 3 years ago

This PR adds a purego build tag to allow compiling the libraries with the pure Go implementations of the functions, omitting the assembly implementations.

The main use case was to make it simple to run benchmarks against the Go and assembly code, by adding -tags purego to the test commands.

@alberts also suggested we add a few benchmark results to showcase the library, I've added three examples to the README. We could add more but we have a LOT of benchmarks in this project, running them all takes forever and some are tailored to exhibiting edge case behavior which may not be relevant to presenting the general goals of the package, so I'm suggesting we start with a curated set of showcases.