SIMD is a well-known hardware-specific technique to accelerate applications. SIMD allows applications to run several operations parallelly. Normally, we would develop SIMD applications in C language with inline assembly or intrinsics. We can simply conduct inline assembly or intrinsics with cgo, but call overhead of cgo would a critical issue in performance-sensitive cases, which is the exact case that we would use SIMD. Here we are going to share how to write assembly in Golang to facilitate SIMD technique without call overhead.
About Yang Hau
Worked in blockchain industry before. Currently working in Chatbot startup, Zeals.
Contributed to numpy and sse2neon in a serious way; contributed to golang official library in a little serious way; contributed rust official library in an absolutely not serious way.
Dated back to the day I started to learn golang, I made the decision only for gopher was the cutest mascot among all the programming languages.