πΊπ¦ 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
Good issue to follow:
cmd/compile: PGO opportunities umbrella issue #golang
https://github.com/golang/go/issues/62463
cmd/compile: PGO opportunities umbrella issue #golang
https://github.com/golang/go/issues/62463
GitHub
cmd/compile: PGO opportunities umbrella issue Β· Issue #62463 Β· golang/go
This issue is to track the list of PGO optimization opportunities we're considering. As we begin work on any of these, it should be broken into its own issue. We'll edit and add to this lis...
β€2
Earlier this summer, the Go team released version v0.12 of gopls, the language server for Go, featuring a rewrite of its core that allows it to scale to larger codebases.
Since then, we've fine-tuned the design, focusing on making interactive queries as fast as they were with v0.11, despite holding less state in memory.
Full updates β https://goo.gle/3sLzotE #golang
Since then, we've fine-tuned the design, focusing on making interactive queries as fast as they were with v0.11, despite holding less state in memory.
Full updates β https://goo.gle/3sLzotE #golang
go.dev
Scaling gopls for the growing Go ecosystem - The Go Programming Language
As the Go ecosystem gets bigger, gopls must get smaller
β€11
You probably know about Russ Cox's blog post about sparse maps:
https://research.swtch.com/sparse
This data structure is used in #golang source code (mainly inside the compiler).
I came up with another idea that can work even faster:
https://quasilyte.dev/blog/post/gen-map/
From: https://twitter.com/quasilyte/status/1705233800370778402
https://research.swtch.com/sparse
This data structure is used in #golang source code (mainly inside the compiler).
I came up with another idea that can work even faster:
https://quasilyte.dev/blog/post/gen-map/
From: https://twitter.com/quasilyte/status/1705233800370778402
www.quasilyte.dev
Generations-based array Β· Iskander (Alex) Sharipov technical blog
Technical blog about systems programming and related topics
β€8
proposal: runwww.tgoop.com/trace: flight recording #golang by Michael Knyszek
https://github.com/golang/go/issues/63185
(thanks to Ehsan)
https://github.com/golang/go/issues/63185
(thanks to Ehsan)
GitHub
runwww.tgoop.com/trace: flight recording Β· Issue #63185 Β· golang/go
Proposal: runwww.tgoop.com/trace flight recording Updated: 23 September 2023 Background "Flight recording" is a technique in which trace data is kept in a conceptual circular buffer, flushed upon ...
β€3