The Go team explains compiler optimizations

Plus the latest GoLand EAP begins. |

#​508 — May 21, 2024

Unsub  |  Web Version

Together with  Flipt

Go Weekly

▶  Boosting Performance of Go Apps with Optimizations — Three members of the Go team gave a talk at last week’s Google I/O about a topic we’ve covered a lot lately – using Go 1.20+’s profile-guided optimization (PGO) to essentially make your programs faster for free. The first ten minutes are an introduction to Go, but the meat starts about ten minutes in. This is a great way to learn about how PGO and some other Go compiler optimizations work, rather than merely their end result.

Balahan, Pratt, and Ma

How to Migrate from LaunchDarkly to OpenFeature — Join our webinar to learn why engineering leaders are adopting OpenFeature's feature management standard (part of CNCF) that enables you to work with any feature management vendor, and how to migrate from LaunchDarkly to OpenFeature's open standard.

Flipt sponsor

Thoughts on Using Go for Bioinformatics — A bioinformatician and data engineer ponders the use of various languages for scientific work, focusing on Go versus Rust, Python, Crystal, Julia and Zig. Go has a lot of plus points, but could simpler tasks be made any easier?

Samuel Lampa

Generic Concurrency in Go — An exploration of bringing generics and goroutines together to build useful, general purpose concurrent processing patterns. Straightforward examples. It’s good to see people thinking through this stuff.

Sergey Kamardin

The GoLand 2024.2 Early Access Program BeginsGoLand is a popular, but commercial, IDE in the Go world. As well as getting to look at the latest features, its ‘early access program’ benefits everyone by offering up to a few months of what is essentially a free-to-use trial.

Ruslan Akhmetzianov (JetBrains)

Don’t Return err in Go, But.. — The takeaway here is more about adding relevant details to errors to make your future debugging self’s job easier, including defining your own types and using errors.As.

Mateusz Czapliński

QUICK BITS:

🛠 Code & Tools

Go Cover Treemap: Visualize Go Code Coverage as a Treemap — An interesting way to visualize large projects by way of go test -coverprofile’s results.

Nikolay Dubina

tinymath: Fast Go Math Library for Constrained Environments — If you’re using Go to work with microcontrollers or WebAssembly, this library trades off some precision for performance and small code size for common trigonometric, rounding, logarithmic, and similar functions.

Orsinium Labs

[Webinar] Saga Pattern Simplified: Building Sagas with Temporal — Learn how Temporal, a Durable Execution platform, lets you implement and automate Sagas more easily.

Temporal Technologies sponsor

go-quartz 0.12: Simple, Zero-Dependency Scheduling Library — Inspired by the similarly named Quartz scheduler for Java, go-quartz makes it easy to spin up a scheduler within a Go process and trigger functions and other jobs on defined schedules.

Eugene R.

go-mysql 1.8: A Pure Go Library for the MySQL Network Protocol — Not your typical MySQL client but for when you need to interact with other clients and servers at a low level.

siddontang

📻 goradion: A Terminal Based Online Radio Player — Essentially a TUI client for mpv.

Viktoras Agejevas

  • gosec 2.20 – Go security checker via a CLI tool or GitHub Action. Inspects source code for security problems by scanning ASTs and SSA code representations.

  • Redka 0.5 – Redis re-implemented with SQLite. v0.3 adds the set (S*)  commands.

  • SFTPGo 2.6 – Full featured SFTP server. (Docs.)

  • pgRoll 0.6 – Zero-downtime, reversible schema migrations for Postgres.

  • Ebitengine 2.7.4 – Go's simple 2D game engine drops Go 1.18 support.

  • gRPC-Go 1.64 – Go implementation of gRPC for HTTP/2 based RPC.

  • Faktory 1.9 – Language-agnostic persistent background job server.

  • NATS.go 1.35 – Go client for the NATS messaging system.

  • quic-go 0.44 – Pure Go QUIC implementation.

  • Buf 1.32 – CLI tool for working with Protocol Buffers.

🎁 And one for fun..

Miniflux 2: Minimalist and Opinionated Feed Reader — So minimalist that no ORM or framework is used (just Postgres) and only the most essential of vanilla JavaScript. GitHub repo. Want a feed to try? This newsletter has one!

Frédéric Guillot

n

Older messages

Using 97 fewer cores thanks to PGO

Tuesday, May 14, 2024

Plus an HNSW indexed vector store library, a new Go game hits the Steam store, and is 'ok' ok?. | #​507 — May 14, 2024 Unsub | Web Version Together with Stytch logo Go Weekly Reclaiming CPU for

A very random issue

Tuesday, May 7, 2024

Plus a new language that compiles to Go, charts for the terminal, and some Go books from Packt. | #​506 — May 7, 2024 Unsub | Web Version Together with Ardan Labs Go Weekly Evolving the Go Standard

Going supersonic

Tuesday, April 30, 2024

Plus Go remains popular in pull requests, a CP/M emulator, and, sure, Go isn't Java. | #​505 — April 30, 2024 Unsub | Web Version ✍️ It's been a quiet week for big Go related news, but we still

Bringing PGO to the build pipeline

Tuesday, April 23, 2024

Plus how Go grew at Google, cmp.Or, and ways to visualize makefiles, Go binaries, and live Go processes. | #​504 — April 23, 2024 Unsub | Web Version Together with Three Dots Labs Go Weekly How Dolt

The latest Go developer survey results are in

Tuesday, April 16, 2024

Plus lots of database stuff, a new Go book is in print, and a Minesweeper implementation. | #​503 — April 16, 2024 Unsub | Web Version If you wondered why you didn't get an issue last week, we took

You Might Also Like

📳 Galaxy Z Flip 6 Review — How to Watch the 2024 Summer Olympics for Free

Friday, July 26, 2024

Also: Fixing Spotify's Repeating Ads, and More! How-To Geek Logo July 26, 2024 Did You Know The rectangular area of a flag found in the upper left corner (top hoist corner) of the flag, such as the

Your monthly update has arrived

Friday, July 26, 2024

What's new in Google Play and Android July 2024 The Collections surface engages users with content Introducing Collections, a new on-device surface for your content Collections present users with

iOS Dev Weekly - Issue 671

Friday, July 26, 2024

There are two types of apps on the visionOS App Store. Will you create an app that makes people reach for the headset? 🥽 View on the Web Archives ISSUE 671 July 26th 2024 Comment In the last two weeks

Ranked | The 10 Busiest Ports in the World, by Cargo Traffic 🚢

Friday, July 26, 2024

As critical nodes for trade and commercial activity, we show the top 10 busiest ports in the world by cargo volume. View Online | Subscribe Presented by: Is Your Portfolio Powering the Future? >>

Let the Games Begin

Friday, July 26, 2024

Week of July 22, 2024 Let the Games Begin Week of July 22, 2024 By MG Siegler • 26 Jul 2024 View in browser View in browser Mark Zuckerberg loves two things above all else right now: llamas and

Daily Coding Problem: Problem #1508 [Hard]

Friday, July 26, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Uber. Given an array of integers, return a new array such that each element at index i

OpenAI announces SearchGPT - Weekly News Roundup - Issue #477

Friday, July 26, 2024

Plus: Will billionaires live forever; a police robot dog jamming wireless networks; Alphabet to invest $5B into Waymo; warnings about “model collapse”; a new partnership for AI security; and more! ͏ ͏

Using Data as a Product Manager

Friday, July 26, 2024

If you had your choice between a little data or a lot of data on which to guide decisions, which would you pick? ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Last Mile of Blockchains: RPC and Node-as-a-Service

Friday, July 26, 2024

Top Tech Content sent at Noon! Find the hottest jobs from top tech companies Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, July 26, 2024? The

⚙️ Generative AI is making workers less productive

Friday, July 26, 2024

Plus: Runway trained video generator on thousands of YouTube videos ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌