←back to thread

Show HN: Go Plan9 Memo

(pehringer.info)
302 points pehringer | 2 comments | | HN request time: 0.471s | source

A quick dive into the Plan9 assembly I picked up while developing my SIMD package for Go, and how it led to a 450% performance boost in calculations.
1. nzach ◴[] No.41880292[source]
> I am not sure why the Go team went down this route. Maybe it simplifies the compiler by having this bespoke assembly format?

This was to allow for easy cross-compilation.

You should probably clarify that you are talking about 'golang plan9 assembly format', and not about the plan9 OS. This confused me a lot. (https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs)

I didn't know you could easily hand write 'golang assembly' for your functions. This seems really useful in some cases.

But I do wonder, why the std lib doesn't offer this ?

EDIT: I found the anwser: https://github.com/golang/go/issues/53171

Here is a good explanation provided by Ian Lance Taylor:

> This proposal is focused on code generation rather than language, and the details of how it changes the language are difficult to understand. Go is intended to be a simple language that it is easy to understand. Introducing complex semantics for performance reasons is not a direction that the language is going to take.

replies(1): >>41881653 #
2. ◴[] No.41881653[source]