Go 1.25: Raskere og smartere
Versjon 1.25 av programmeringsspråket Go har fått en masse forbedringer – her er tre nyheter.
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
— Go (@golang.org) August 12, 2025 at 11:58 PM
[image or embed]
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.