🇺🇦 Go performance channel
WOAH @BytedanceTalk proposed pdqsort for #golang 1.19 https://github.com/golang/go/issues/50154 Change: https://github.com/golang/go/commit/72e77a7f41bbf45d466119444307fd3ae996e257
pdqsort author: https://news.ycombinator.com/item?id=31107187
Also a great article by @Danlark1 Changing std:sort at Google’s scale and beyond
https://news.ycombinator.com/item?id=31098822
Also a great article by @Danlark1 Changing std:sort at Google’s scale and beyond
https://news.ycombinator.com/item?id=31098822
By an accident have found a page where you can see all #golang perf-related issue and their progress https://github.com/orgs/golang/projects/8/views/1
As I understand it's a @github feature to have a better view of issues. Might be useful.
(no idea what it's not visible on Golang Projects tab)
As I understand it's a @github feature to have a better view of issues. Might be useful.
(no idea what it's not visible on Golang Projects tab)
GitHub
Go Compiler / Runtime • golang
Go Runtime team project tracking (experimental).
Shaving 40% Off Google’s B-Tree Implementation with #golang Generics by @michalmatczuk @ScyllaDB https://www.scylladb.com/2022/04/27/shaving-40-off-googles-b-tree-implementation-with-go-generics/
ScyllaDB
Shaving 40% Off Google’s B-Tree Implementation with Go Generics - ScyllaDB
Go generics are a new way to improve performance in #golang. Let's see what effect generics had on Google's B-tree implementation.
🇺🇦 Go performance channel
Shaving 40% Off Google’s B-Tree Implementation with #golang Generics by @michalmatczuk @ScyllaDB https://www.scylladb.com/2022/04/27/shaving-40-off-googles-b-tree-implementation-with-go-generics/
GitHub
Generic approach · Issue #41 · google/btree
With support for generics, we can replace interfaces with generic types. The use of generics avoids variables escaping to heap when calling the B-tree functions yielding 20-30% improvement. Below a...
Long-awaited #golang soft memory limit:
The core feature has landed, but I still need to land a few new metrics to help support visibility into this. by @mknyswe
https://github.com/golang/go/issues/48409
The core feature has landed, but I still need to land a few new metrics to help support visibility into this. by @mknyswe
https://github.com/golang/go/issues/48409
GitHub
runwww.tgoop.com/debug: soft memory limit · Issue #48409 · golang/go
Proposal: Soft memory limit Author: Michael Knyszek Summary I propose a new option for tuning the behavior of the Go garbage collector by setting a soft memory limit on the total amount of memory t...
Aaaaaaand we will get atomic wrappers in #golang 1.19.
IMO, that's awesome 💕
https://github.com/golang/go/commit/ffe48e00adf3078944015186819a1ed5c6aa8bec
IMO, that's awesome 💕
https://github.com/golang/go/commit/ffe48e00adf3078944015186819a1ed5c6aa8bec
GitHub
sync/atomic: add typed atomic values · golang/go@ffe48e0
These implementations will inline to the lower-level primitives,
but they hide the underlying values so that all accesses are
forced to use the atomic APIs. They also allow the use of shorter
names...
but they hide the underlying values so that all accesses are
forced to use the atomic APIs. They also allow the use of shorter
names...
From "#golang compiler and runtime meeting notes":
> do we want to have an external monthly version of this meeting?
(please, don't comment on the issue, everything will be deleted as a spam)
https://github.com/golang/go/issues/43930#issuecomment-1122745144
I hope that making this meeting public will make @golang team life easier because feedback loop will be shorter with more eyes on 1 thing.
> do we want to have an external monthly version of this meeting?
for { println("YES") }
(please, don't comment on the issue, everything will be deleted as a spam)
https://github.com/golang/go/issues/43930#issuecomment-1122745144
I hope that making this meeting public will make @golang team life easier because feedback loop will be shorter with more eyes on 1 thing.
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...
Changing one character wildly improved our application's performance (tldr: s/<=/< 😉)
https://segment.com/blog/changing-one-character-improved-app-performance/ by @segment #golang
https://segment.com/blog/changing-one-character-improved-app-performance/ by @segment #golang
Segment
Changing one character wildly improved our application's performance
Sometimes the only thing standing between your application and 3x better performance is a letter or two.
> Rather than one large survey each November, we plan to launch two smaller surveys at roughly six-month intervals during the year.
https://go.dev/blog/survey2022-q2
(no idea why this blogpost wasn't tweeted by @golang 🤷♀️)
https://go.dev/blog/survey2022-q2
(no idea why this blogpost wasn't tweeted by @golang 🤷♀️)
go.dev
Share your feedback about developing with Go - The Go Programming Language
Help shape the future of Go by sharing your thoughts via the Go Developer Survey
🇺🇦 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…
> "exceptionally small" yet powerful CL mentioned previously has been merged for Go 1.19! 🎉
https://github.com/golang/go/issues/26623#issuecomment-1146708013
CL https://go-review.googlesource.com/c/go/+/355789/
https://github.com/golang/go/issues/26623#issuecomment-1146708013
CL https://go-review.googlesource.com/c/go/+/355789/
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...
Nice patch for #golang bigint:
math/big: make NewInt inlineable and zero allocation
Mark the assembly routines as not escaping their arguments.
https://go-review.googlesource.com/c/go/+/411254/
math/big: make NewInt inlineable and zero allocation
Mark the assembly routines as not escaping their arguments.
https://go-review.googlesource.com/c/go/+/411254/
#golang proposal: add package for using SIMD instructions
https://github.com/golang/go/issues/53171
(Check this too https://github.com/mmcloughlin/avo by @mbmcloughlin 😉)
https://github.com/golang/go/issues/53171
(Check this too https://github.com/mmcloughlin/avo by @mbmcloughlin 😉)
GitHub
proposal: add package for using SIMD instructions · Issue #53171 · golang/go
SIMD has the potential to greatly increase performance of a lot of data processing applications. Since #35307 was closed with the remark We agree that there is an opportunity here, but we don't...