Go 1.25: Raskere og smartere

Versjon 1.25 av programmeringsspråket Go har fått en masse forbedringer – her er tre nyheter.

Go 1.25 er ute i endelig versjon – med blant annet forbedringer i JSON-parsing, bedre "garbage collection" og bedre ytelse i containermiljøer.
Publisert

Versjon 1.25 av programmeringsspråket Go er lansert i endelig versjon, og mange av nyhetene i språket har blitt veldig godt tatt imot av utviklere. 

– Jeg bare elsker hvordan dette språket marsjerer fremover, skriver én utvikler på Hacker News.

Ifølge nettstedet Developer er den nye Go-versjonen fullpakket med forbedringer som skal få Go-koden din til å kjøre enda raskere, og nye verktøy som gjør livet som utvikler enklere. 

🎊 Go 1.25.0 is released! 📝 Release notes: https://go.dev/doc/go1.25 ⬇️ Download: https://go.dev/dl/#go1.25.0 #golang

[image or embed]

— Go (@golang.org) August 12, 2025 at 11:58 PM

Det er ingen endringer i selve språket som skal påvirke Go-programmer, og Go-teamet skriver i "release notes" for Go 1.25 at de forventer at nesten alle Go-programmer vil kompilere og kjøre som før.

 Her er tre nyheter fra Go 1.25:

#1: Raskere i containere

Det er flere nyheter i Go 1.25 som kan påvirke ytelsen til applikasjonene dine.

En av dem er at standardmåten GOMAXPROCS fungerer på har blitt endret. Enkelt fortalt er GOMAXPROCS en miljøvariabel i Go (og en funksjon) som setter begrensninger for hvor mange OS-tråder Go-kjøremiljøet kan bruke på én gang. 

Tidligere har GOMAXPROCS som standard blitt satt til antall logiske CPU-er som er tilgjengelig ved oppstart. Problemet til nå har vært at hvis du kjører Go i containerbaserte miljøer med en "CPU-limit", som i en Kubernetes-pod,  så måtte du manuelt justere GOMAXPROCS for å unngå at programmet prøvde å bruke flere kjerner enn den har lov til.

I Go 1.25 vil GOMAXPROCS nå automatisk respektere eventuelle begrensninger i antall CPU-kjerner du har satt. Dette skal gi bedre ressursutnyttelse og mindre behov for manuelle justeringer.

Les mer om container-aware GOMAXPROCS

Dette skal gi bedre ressursutnyttelse og mindre behov for manuelle justeringer.

#2: Bedre garbage collector

En annen nyhet som kan påvirke ytelsen i enkelte tilfeller, er at Go 1.25 har fått en ny eksperimentell garbage collector kalt Green Tea

Green Tea forbedrer hvordan garbage collectoren finner ut hvilke objekter som ikke lenger er i bruk, og frigir minnet. Dette gjør den ved å i stedet for å skanne enkeltobjekter, skanne større, sammenhengende blokker av minnet.

– Testresultater varierer, men vi forventer en reduksjon i garbage collection-overhead på mellom 10 og 40 % i virkelige programmer som i stor grad bruker garbage collectoren.

Sjekk GitHub issuen for en teknisk gjennomgang av hvordan det hele fungerer.

#3: Kjappere JSON

I Go 1.25 kan du aktivere en ny, eksperimentelt JSON-implementasjon –encoding/json/v2 og encoding/json/jsontext ved å sette flagget GOEXPERIMENT=jsonv2.

Den nye måten å håndtere JSON på i Go skal være vesentlig raskere enn den gamle (encoding/json), og skal være den største store revisjonen av en standard Go-pakke til nå. 

– Den nye implementasjonen yter betydelig bedre enn den eksisterende i mange scenarier. Generelt er ytelsen ved koding (encoding) omtrent lik mellom implementasjonene, mens dekoding er vesentlig raskere i den nye. 

Du kan lese mer om JSON-nyheten her.

Powered by Labrador CMS