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
Very good article about VM internals:
Optimizing GoAWK with a bytecode compiler and virtual machine.
https://benhoyt.com/writings/goawk-compiler-vm/ #golang
Optimizing GoAWK with a bytecode compiler and virtual machine.
https://benhoyt.com/writings/goawk-compiler-vm/ #golang
Benhoyt
Optimizing GoAWK with a bytecode compiler and virtual machine
How I sped up GoAWK by switching from a tree-walking interpreter to a bytecode compiler and virtual machine interpreter.
🇺🇦 Go performance channel
Very good article about VM internals: Optimizing GoAWK with a bytecode compiler and virtual machine. https://benhoyt.com/writings/goawk-compiler-vm/ #golang
And an additional post about #golang performance and binary size.
https://benhoyt.com/writings/go-version-performance/
https://benhoyt.com/writings/go-version-performance/
Benhoyt
Go performance from version 1.2 to 1.18
Shows how much the performance of Go has improved from version 1.2 through to 1.18 -- in its compiler, runtime, and libraries.
Okay – took the nerd snipe bait – here is a little package to add cpu-ns/op to any bench function.
https://github.com/felixge/benchmore
Let me know what you think : ).
https://twitter.com/felixge/status/1490048600654725122
https://github.com/felixge/benchmore
Let me know what you think : ).
https://twitter.com/felixge/status/1490048600654725122
GitHub
GitHub - felixge/benchmore
Contribute to felixge/benchmore development by creating an account on GitHub.
User Zik have combined and benchmarked @bboreham patches related to the #golang regexp package and...results are astonishing!
Well, if all these patches will be merged in 1.19 we can get 30-40% better perf!
https://github.com/golang/go/issues/26623#issuecomment-1033158328
Well, if all these patches will be merged in 1.19 we can get 30-40% better perf!
https://github.com/golang/go/issues/26623#issuecomment-1033158328
GitHub
regexp: investigate further performance improvements · Issue #26623 · golang/go
Languages Regex Benchmark: Language Email(ms) URI(ms) IP(ms) Total(ms) C PCRE2 25.00 25.02 5.65 55.66 Rust 31.31 31.73 6.75 69.79 PHP 54.39 50.22 5.80 110.40 Javascript 74.88 63.09 2.02 140.00 D ld...
🇺🇦 Go performance channel
User Zik have combined and benchmarked @bboreham patches related to the #golang regexp package and...results are astonishing! Well, if all these patches will be merged in 1.19 we can get 30-40% better perf! https://github.com/golang/go/issues/26623#issuecomment…
Twitter
Go performance channel
@go_perf Regarding last tweet about #golang regexp patches. Thanks @bboreham ! twitter.com/bboreham/statu…
Sen Han created an issue about Completely Fair Scheduler inspired for #golang https://github.com/golang/go/issues/51071 + demo https://github.com/hnes/cpuworker
Keep in mind: it's just an interesting prototype now and there is no official plans to change the current scheduler.
Keep in mind: it's just an interesting prototype now and there is no official plans to change the current scheduler.
GitHub
runtime: investigate possible Go scheduler improvements inspired by Linux Kernel's CFS · Issue #51071 · golang/go
First, please let me pay tribute to your contributions. You guys are awesome! And Go is so marvelous! It has been more than ten years, and Go has already been very successful. So, I think it is tim...
🇺🇦 Go performance channel
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/
Good new everyone, there are fixes for issue about performance of the generics, but anyway we will wait for #golang 1.19
https://github.com/golang/go/issues/50182#issuecomment-1040507717
https://github.com/golang/go/issues/50182#issuecomment-1040507717