๐บ๐ฆ Go performance channel
Register-based calling convention for #golang functions is alive. Which is super great! Fingers crossed that it will land in Go 1.17 this ~August. https://github.com/golang/go/issues/40724
The results are looking phenomenal. On a set of application benchmarks we've been using, geomean improvement is 6%
Great! #golang
Great! #golang
Roaring Bitmaps on ARM by @Quantcast and a good benchmark for @awscloud #graviton
https://quantcast.com/blog/inside-engineering-optimizing-ara-by-running-roaring-bitmaps-on-arm/
Also, note how a simple update to the latest #golang improves your performance!
CC: twitter.com/lemire
https://quantcast.com/blog/inside-engineering-optimizing-ara-by-running-roaring-bitmaps-on-arm/
Also, note how a simple update to the latest #golang improves your performance!
CC: twitter.com/lemire
Quantcast
Inside Engineering: Optimizing Araยฎ by Running Roaring Bitmaps on ARM
Learn how the engineering team solves hard problems and uses the Roaring bitmap encoding format to efficiently manipulate integer sets on ARM64.
Yet another tutorial how to use #golang pprof, but this time something else: pprof++
- Improved accuracy
- Insights into many kinds of CPU events
- High-frequency measurement
https://eng.uber.com/pprof-go-profiler/ by twitter.com/UberEng
- Improved accuracy
- Insights into many kinds of CPU events
- High-frequency measurement
https://eng.uber.com/pprof-go-profiler/ by twitter.com/UberEng
Even more profiling this day! Thank you @mbmcloughlin for sharing.
Anyone else? :D
https://twitter.com/mbmcloughlin/status/1392166315838775297
Anyone else? :D
https://twitter.com/mbmcloughlin/status/1392166315838775297
Twitter
Michael McLoughlin
profile: Simple profiling for Go Evolution of pkg/profile supporting: - Multiple profiles at once - Idiomatic flags like go test - Environment variable config like GODEBUGgithub.com/mmcloughlin/prโฆ
Perf is a good thing, but you also need to measure it properly. Check this out https://stonecode.ca/benchmarking-with-go/
(additional ๐ for the upcoming -shuffle=on in #golang 1.17)
(additional ๐ for the upcoming -shuffle=on in #golang 1.17)
High Performance Go Workshop by twitter.com/davecheney
Great page for an intro to achieve faster #golang code and also a good source of best practices.
https://dave.cheney.net/high-performance-go-workshop/dotgo-paris.html
Great page for an intro to achieve faster #golang code and also a good source of best practices.
https://dave.cheney.net/high-performance-go-workshop/dotgo-paris.html
Reducing Memory Allocations in #golang
https://chris124567.github.io/2021-06-21-go-performance/
by https://github.com/chris124567
https://chris124567.github.io/2021-06-21-go-performance/
by https://github.com/chris124567
chris124567.github.io
Reducing Memory Allocations in Golang
Goโs place between C and Python in terms of abstraction and garbage collection memory management model has made it attractive to programmers looking for a fast but reasonably high level language. However, there is no free lunch. Goโs abstractions, especiallyโฆ
#golang 1.17 RC1 is amazing.
This service does a lot of JSON operations, math and too many loops :D
Also reflection, outside of encoding/json.
(Screenshot by a friend of mine.)
https://twitter.com/golang/status/1415045781233545218
This service does a lot of JSON operations, math and too many loops :D
Also reflection, outside of encoding/json.
(Screenshot by a friend of mine.)
https://twitter.com/golang/status/1415045781233545218
๐บ๐ฆ Go performance channel
#golang 1.17 RC1 is amazing. This service does a lot of JSON operations, math and too many loops :D Also reflection, outside of encoding/json. (Screenshot by a friend of mine.) https://twitter.com/golang/status/1415045781233545218
Clarification: middle of the graph is 1.17 RC1
Graph show: 1.16 -> 1.17 RC1 -> (rollback to) 1.16
Prometheus query:
Graph show: 1.16 -> 1.17 RC1 -> (rollback to) 1.16
Prometheus query:
irate(process_cpu_seconds_total{kubernetes_pod_name=~"$kubernetes_pod_name"}[1m])
๐ค for the new JSON pkg in #golang https://github.com/go-json-experiment/json
Also take a look how to use new fuzzing (which will not appear in 1.17 ๐ข) https://github.com/go-json-experiment/json/blob/master/fuzz_test.go
Also take a look how to use new fuzzing (which will not appear in 1.17 ๐ข) https://github.com/go-json-experiment/json/blob/master/fuzz_test.go
GitHub
GitHub - go-json-experiment/json: Experimental implementation of a proposed v2 encoding/json package
Experimental implementation of a proposed v2 encoding/json package - go-json-experiment/json