Yet another story how #golang compiler and runtime is hacked @Tailscale
Take a minute to read the philosophy regarding software development, it is deep.
https://tailscale.com/blog/go-linker/ by twitter.com/commaok
Take a minute to read the philosophy regarding software development, it is deep.
https://tailscale.com/blog/go-linker/ by twitter.com/commaok
Tailscale
Hey linker, can you spare a meg?
Tailscale on iOS runs as a special kind of app, a Network Extension. This lets us run in the background, so we can secure traffic from all of your applications, without them having to change anything. But with this power comes a memory straightjacket. Normal…
It's too early to say something but there is a chance that feedback-guided optimization will happen in #golang 1.19! What a time to be alive!
https://github.com/golang/go/issues/28262
https://github.com/golang/go/issues/28262
GitHub
cmd/compile: feedback-guided optimization · Issue #28262 · golang/go
This is an umbrella issue for supporting feedback-guided optimization. This has been discussed offhand in a few other contexts (inlining decisions: #17566, code layout decisions: #20356, language c...
Very nice trick for @code #golang users to see what is escaped to the heap or not inlined.
In most cases you don't need to see this all the time but nice thing to have in your toolbox.
CC: @GoLandIDE
https://twitter.com/_josephwoodward/status/1455522831190663173
In most cases you don't need to see this all the time but nice thing to have in your toolbox.
CC: @GoLandIDE
https://twitter.com/_josephwoodward/status/1455522831190663173
Twitter
Joseph Woodward
@felixge I know VS Code enables you to run > "Go: Toggle gc details" to see some more details, but nothing like this - though it would be cool!
Best #golang release ever (again?). Check replies for more details!
https://twitter.com/mvdan_/status/1456947756925399040
https://twitter.com/mvdan_/status/1456947756925399040
Twitter
Daniel Martí
Here's a list of some changes to look forward to in #golang 1.18! The first beta should be out in a month, and the final release in three months. Each change with a link, so you can read more.
As always @commaok has something to propose!
And today's topic out of order execution for math operations in #golang
https://github.com/golang/go/issues/49331
And today's topic out of order execution for math operations in #golang
https://github.com/golang/go/issues/49331
GitHub
cmd/compile: reorganize associative computation to allow superscalar execution · Issue #49331 · golang/go
The compiler currently compiles a+b+c+d as a+(b+(c+d)). It should use (a+b)+(c+d) instead, because the latter can be executed out of order. More broadly, we should balance trees of associative comp...
Not a technical tweet, sorry. But important for the #golang community. Thank you @mvdan_
I also hope that https://github.com/golang/go/issues/43930 will be back on track too.
https://github.com/golang/go/issues/28262#issuecomment-975416122
I also hope that https://github.com/golang/go/issues/43930 will be back on track too.
https://github.com/golang/go/issues/28262#issuecomment-975416122
GitHub
Go compiler and runtime meeting notes · Issue #43930 · golang/go
Google's Go compiler and runtime team meets periodically (roughly weekly) to discuss ongoing development of the compiler and runtime. While not open to the public, there's been desire by th...
> The missing cases (range loops and loops with labeled breaks/continues) are now inlineable, so all for loops are now inlineable.
One more reason to try #golang 1.18 as far as first release candidate will be published. https://github.com/golang/go/issues/14768#issuecomment-981759381
One more reason to try #golang 1.18 as far as first release candidate will be published. https://github.com/golang/go/issues/14768#issuecomment-981759381
GitHub
cmd/compile: for-loops cannot be inlined · Issue #14768 · golang/go
Using go devel +ed4a27a Currently, functions with for-loops are not inline-able, would be nice if they did. Not long ago, I used a non-idiomatic goto in order to cheat around the inliner. @dr2chase
Unpopular opinion: this #golang CL is better then generics https://go-review.googlesource.com/c/go/+/333529/
Related issue https://github.com/golang/go/issues/47056
Super kudos for @dvyukov and @llvmorg team
Related issue https://github.com/golang/go/issues/47056
Super kudos for @dvyukov and @llvmorg team
GitHub
testing: provide a way to work around "race: limit on 8128 simultaneously alive goroutines is exceeded" error · Issue #47056 ·…
$ go version go version devel go1.17-dc00dc6c6b Thu Jun 10 12:41:37 2021 +0000 linux/amd64 Issue #38184 seems to be a reasonably hard limit in the race detector library, but it's not always...
#golang GC tuning by UberEng
https://eng.uber.com/how-we-saved-70k-cores-across-30-mission-critical-services/
https://eng.uber.com/how-we-saved-70k-cores-across-30-mission-critical-services/
Aaaaand after somewhat heated discussions in chats upcoming #golang generics will not allocate interfaces. But looks like this will be available only in Go 1.19...
issue https://github.com/golang/go/issues/50182 and fix https://go-review.googlesource.com/c/go/+/378178/
issue https://github.com/golang/go/issues/50182 and fix https://go-review.googlesource.com/c/go/+/378178/
GitHub
cmd/compile: generic functions are significantly slower than identical non-generic functions in some cases · Issue #50182 · golang/go
What version of Go are you using (go version)? $ go version go version go1.18beta1 windows/amd64 Does this issue reproduce with the latest release? It reproduces on the 1.18 Beta 1 release. What op...
There is a chanсe that #golang will get 4x faster SHA256 on AMD64 https://github.com/golang/go/issues/50543
Check also license comment by ianlancetaylor, better to know before the law suit.
Check also license comment by ianlancetaylor, better to know before the law suit.
GitHub
crypto/sha256: add native SHA256 instruction implementation for AMD64 · Issue #50543 · golang/go
The sha_ni sha256 instructions have been shown to provide an ~4x increase in hash rate on newer amd64 systems versus the avx2 implementation. Transliterating the Linux implementation shows an up to...
New post by @ignaciohagopian about #golang write barriers.
https://ihagopian.com/posts/write-barriers-in-the-go-garbage-collector/
https://ihagopian.com/posts/write-barriers-in-the-go-garbage-collector/
~6month ago @_rsc shared possible #golang optimisations that can bring us incredible performance results with quite small assembly changes https://github.com/golang/go/issues/47120
GitHub
cmd/compile: tight code optimization opportunities · Issue #47120 · golang/go
The generated x86 code can be improved in some fairly simple ways - hoisting computed constants out of loop bodies, and avoiding unnecessary register moves - that have a significant performance imp...
Tracing low-level behaviour of a live #golang application with #eBPF uprobes by @nserrino from @pixie_run
https://blog.px.dev/go-garbage-collector/
(PS: why this post is from Feb 8, 2022 ? 🤔)
https://blog.px.dev/go-garbage-collector/
(PS: why this post is from Feb 8, 2022 ? 🤔)
Pixie Labs Blog
Dumpster diving the Go garbage collector
Pixie Blog