Felix GeisendΓΆrfer:
Interesting proposal from Russ Cox to improve the accuracy of the mutex profiler in #golang.
If you hold a mutex for 10ms and 5 goroutines wait for 10ms each, only 10ms of contention are recorded. The proposal is to change this to 50ms ππ»
https://github.com/golang/go/issues/61015
Interesting proposal from Russ Cox to improve the accuracy of the mutex profiler in #golang.
If you hold a mutex for 10ms and 5 goroutines wait for 10ms each, only 10ms of contention are recorded. The proposal is to change this to 50ms ππ»
https://github.com/golang/go/issues/61015
Waiting for go1.21: Execution Tracing with < 1% Overhead
https://blog.felixge.de/waiting-for-go1-21-execution-tracing-with-less-than-one-percent-overhead/
https://blog.felixge.de/waiting-for-go1-21-execution-tracing-with-less-than-one-percent-overhead/
Felix GeisendΓΆrfer
Waiting for go1.21: Execution Tracing with < 1% Overhead
Learn about the upcoming go1.21 performance improvements that reduce the overhead of execution tracing from up to 20% to less than 1% for most applications.
Analyzing #golang Build Times https://blog.howardjohn.info/posts/go-build-times/
blog.howardjohn.info
Analyzing Go Build Times
Go is often praised for its fast build times.
While they are pretty quick, they are slow enough that I spend a lot of time waiting for them, enough that it prompted me to go down the rabbit hole of thoroughly analyzing them.
This post covers all aspects ofβ¦
While they are pretty quick, they are slow enough that I spend a lot of time waiting for them, enough that it prompted me to go down the rabbit hole of thoroughly analyzing them.
This post covers all aspects ofβ¦
Great initiative! Improvements to the #golang inliner https://github.com/golang/go/issues/61502
Design doc https://docs.google.com/document/d/1a6p7-nbk5PVyM1S2tmccFrrIuGzCyzclstBtaciHxVw
Design doc https://docs.google.com/document/d/1a6p7-nbk5PVyM1S2tmccFrrIuGzCyzclstBtaciHxVw
GitHub
cmd/compile: overhaul inliner Β· Issue #61502 Β· golang/go
Weβre starting a project to overhaul the inlining optimization pass in the Go compiler, with the goal of having a far more effective inliner in Go 1.22. This issue will track this work. This docume...
#golang proposal: time: stop requiring Timer/Ticker.Stop for prompt GC
https://github.com/golang/go/issues/61542 (almost a decade from the original https://github.com/golang/go/issues/8898 CC: @dvyukov )
https://github.com/golang/go/issues/61542 (almost a decade from the original https://github.com/golang/go/issues/8898 CC: @dvyukov )
GitHub
time: stop requiring Timer/Ticker.Stop for prompt GC Β· Issue #61542 Β· golang/go
After almost a decade, I have finally implemented #8898, special-casing the channels used for timers (or maybe the timers used for channels) so that the timers are not in the timer heap when there ...
Common pitfalls in Go benchmarking
https://eli.thegreenplace.net/2023/common-pitfalls-in-go-benchmarking/
By @elibendersky
https://eli.thegreenplace.net/2023/common-pitfalls-in-go-benchmarking/
By @elibendersky
πΊπ¦ Go performance channel
From @hackernews https://news.ycombinator.com/item?id=37054760
By the way, from release notes
> Go 1.21 improves build speed by up to 6%, largely thanks to building the compiler itself with PGO.
> Go 1.21 improves build speed by up to 6%, largely thanks to building the compiler itself with PGO.
Every nanosecond matter.
Restructuring code to win 15-20ns in time.Since: https://go-review.googlesource.com/c/go/+/518336
Remove your β//go:linkname runtime.nanotime1β after #golang 1.22 :D
Restructuring code to win 15-20ns in time.Since: https://go-review.googlesource.com/c/go/+/518336
Remove your β//go:linkname runtime.nanotime1β after #golang 1.22 :D
C and C++ Prioritize Performance over Correctness
https://research.swtch.com/ub
https://research.swtch.com/ub
Redesign #golang PCDATA encoding
> format that's >4x faster to decode than the Go 1.21 tables, while increasing binary size by only 1β2.5%.
https://github.com/golang/go/issues/61984
> format that's >4x faster to decode than the Go 1.21 tables, while increasing binary size by only 1β2.5%.
https://github.com/golang/go/issues/61984
GitHub
runtime,cmd/compile: redesign PCDATA encoding Β· Issue #61984 Β· golang/go
I've been experimenting with alternate encodings for the PCDATA tables, with the goal of significantly improving decode speed, at possibly a slight increase in binary size. @mknyszek, @dr2chase...
print(βlolβ) doubled the speed of my #golang function π
https://medium.com/@ludirehak/printing-lol-doubled-the-speed-of-my-go-code-e32e02fc3f92
https://medium.com/@ludirehak/printing-lol-doubled-the-speed-of-my-go-code-e32e02fc3f92
Medium
print(βlolβ) doubled the speed of my Go function
Here is a Go function, if_max(). It finds the max value of an array of integers. Simple enough:
β€6
proposal: encoding: add AppendText and AppendBinary #golang
https://github.com/golang/go/issues/62384
https://github.com/golang/go/issues/62384
GitHub
encoding: add AppendText and AppendBinary Β· Issue #62384 Β· golang/go
The MarshalText and MarshalBinary methods are a trash factory. They create a short-lived string that is almost always garbage collectable shortly after creation. Furthermore, the caller almost alwa...
β€2
GopherCon Europe 2023: Roman Khavronenko - Writing a TSDB from Scratch: Performance Optimization #golang
CC: https://twitter.com/hagen1778 & https://twitter.com/VictoriaMetrics
https://www.youtube.com/watch?v=NdjuW98ep_w
CC: https://twitter.com/hagen1778 & https://twitter.com/VictoriaMetrics
https://www.youtube.com/watch?v=NdjuW98ep_w
β€2
GopherCon Europe 2023: Jonathan Amsterdam - A Fast Structured Logging Package #golang by twitter.com/JonathanAmster2
https://www.youtube.com/watch?v=tC4Jt3i62ns
https://www.youtube.com/watch?v=tC4Jt3i62ns
β€2
GopherCon Europe 2023: Yiscah Levy Silas - Go Right Ahead! Simple Hacks to Cut Memory Usage by 80% by twitter.com/YiscahLevySilas #golang
https://www.youtube.com/watch?v=YlTRodoYOZ4
https://www.youtube.com/watch?v=YlTRodoYOZ4