Go 1.20 released
We’re particularly excited to launch a preview of profile-guided optimization (PGO), which enables the compiler to perform application- and workload-specific optimizations based on run-time profile information. Providing a profile to go build enables the compiler to speed up typical applications by around 3–4%, and we expect future releases to benefit even more from PGO. Since this is a preview release of PGO support, we encourage folks to try it out, but there are still rough edges which may preclude production use.Go 1.20 also includes a handful of language changes, many improvements to tooling and the library, and better overall performance.
Posted Feb 1, 2023 22:51 UTC (Wed)
by pbonzini (subscriber, #60935)
[Link] (10 responses)
Posted Feb 2, 2023 2:02 UTC (Thu)
by wahern (subscriber, #37304)
[Link] (2 responses)
Posted Feb 2, 2023 2:22 UTC (Thu)
by rahulsundaram (subscriber, #21946)
[Link] (1 responses)
From the latter page, the last supported release suggests it isn't maintained in parallel anymore.
The GCC 11 releases include a complete implementation of the Go 1.16.3 release."
Granted, the delta between 1.16 and 1.20 isn't huge.
Posted Feb 2, 2023 5:14 UTC (Thu)
by wahern (subscriber, #37304)
[Link]
Posted Feb 2, 2023 4:58 UTC (Thu)
by bradfitz (subscriber, #4378)
[Link]
He's the tech lead of the Go project.
Posted Feb 2, 2023 6:58 UTC (Thu)
by flussence (guest, #85566)
[Link] (4 responses)
Posted Feb 2, 2023 8:33 UTC (Thu)
by pbonzini (subscriber, #60935)
[Link] (2 responses)
GCJ was best in class when it was maintained (early 2000s), it just fell behind because features don't add themselves to the compiler; likewise GDC and gccgo aren't best in class because language development happens elsewhere.
Just like C and C++, GNAT *is* a great Ada environment because it is backed by enough money to be great.
Posted Feb 2, 2023 14:07 UTC (Thu)
by mathstuf (subscriber, #69389)
[Link]
Posted Feb 2, 2023 19:06 UTC (Thu)
by Cyberax (✭ supporter ✭, #52523)
[Link]
Sorry, but that has never been true. GCJ had never moved past conservative garbage collection, and its code generation was not comparable even with HotSpot.
Posted Feb 2, 2023 18:53 UTC (Thu)
by roc (subscriber, #30627)
[Link]
Posted Feb 2, 2023 19:32 UTC (Thu)
by Cyberax (✭ supporter ✭, #52523)
[Link]
It also allows them to build truly static binaries, with cross-compilation support. So I can easily build macOS versions of my tools from a Linux-based CI/CD pipeline, by just setting GOARCH and GOOS in the compiler command line.
Posted Feb 2, 2023 14:28 UTC (Thu)
by davecb (subscriber, #1574)
[Link]
Posted Feb 3, 2023 5:59 UTC (Fri)
by ringerc (subscriber, #3071)
[Link] (1 responses)
Every go project I deal with has absolutely no concept of debuggable production binaries. Either it's a stripped-to-nothing production build, or a giant dev build with inline DWARF.
Get a coredump from a production service? Obviously, you compile a new build with debuginfo, deploy that, and hope you can reproduce the issue. Right? Because it's not like we've had external debuginfo and debuginfod since forever...
Posted Feb 3, 2023 18:40 UTC (Fri)
by Cyberax (✭ supporter ✭, #52523)
[Link]
Go 1.20 released
Go 1.20 released
Go 1.20 released
Go 1.20 released
Go 1.20 released
Go 1.20 released
Go 1.20 released
Go 1.20 released
Go 1.20 released
Go 1.20 released
Go 1.20 released
In a previous life, My Smarter Colleagues looked at jit as being a bit inclined to "go off half-cocked", and wanted a way to use profiler results to guide it.
PGO, yay!
Go 1.20 released
Go 1.20 released