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
π Go 1.21.1 and 1.20.8 are released!
π Security: Includes security fixes for cmd/go (CVE-2023-39320), html/template (CVE-2023-39318, CVE-2023-39319), and crypto/tls.
π£ Announcement: https://groups.google.com/g/golang-announce/c/Fm51GRLNRvM
β¬οΈ Download: https://go.dev/dl/#go1.21.1
π Security: Includes security fixes for cmd/go (CVE-2023-39320), html/template (CVE-2023-39318, CVE-2023-39319), and crypto/tls.
π£ Announcement: https://groups.google.com/g/golang-announce/c/Fm51GRLNRvM
β¬οΈ Download: https://go.dev/dl/#go1.21.1
go.dev
All releases - The Go Programming Language
β€2
Great proposal thanks to mknyswe
proposal: intern package #golang
https://github.com/golang/go/issues/62483
proposal: intern package #golang
https://github.com/golang/go/issues/62483
GitHub
unique: new package with unique.Handle Β· Issue #62483 Β· golang/go
Proposal: unique package Updated: 10 April 2024 Oct 4th EDIT: Changed package name from "intern" to "unique" and renamed "Symbol" to "Handle" based on feedba...
β€4