Optimising Go code with Assembler
In this blog post I will explore the steps to optimise a sparse vector dot product operation. We will start with a basic implementation in Go, convert it to assembler and then iteratively optimise it, measuring the effect of each change to check our progress. All the code from the post is available on Github and also forms part of the Golang Sparse matrix package. A vector dot product is a very common kernel, or basic building block, for many computations used within scientific computing and machine learning e. »