this post was submitted on 25 Jul 2023
4 points (100.0% liked)

Go programming language discussion

10 readers
1 users here now

founded 5 years ago
MODERATORS
4
Go 1.22 inlining overhaul (docs.google.com)
submitted 1 year ago* (last edited 1 year ago) by sbinet@lemmy.ml to c/golang@lemmy.ml
 

The Go compiler’s inliner has never been particularly good. It wasn’t until Go 1.12, released in 2019, that the Go compiler supported inlining more than leaf functions, and we’ve slowly chipped away at more limitations of the inliner over the years (it started inlining functions with for loops in early 2021!). Go 1.20, released in February 2023, added support for basic profile-guided inlining, the most significant change to Go’s inlining policy since 1.12.

[...]

The rest of this document lays out a set of considerations for a redesign of Go’s inlining policy.

https://docs.google.com/document/d/1a6p7-nbk5PVyM1S2tmccFrrIuGzCyzclstBtaciHxVw/edit

you are viewing a single comment's thread
view the rest of the comments
[–] ebadm@lemmy.l0nax.org 2 points 1 year ago

I am very much looking forward to v1.22. Inlining was/ is one of the Achilles' heel of Go (and other languages).

There's a good issue (#21536) which explores possible ways to implement explicit inlining. Sadly, the proposal got closed without any change.