Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Software-update: Go 1.8

Door , 4 reacties, bron: The Go Blog

27-02-2017 • 14:05

4 Linkedin Google+

Bron: The Go Blog

Go, ook aangeduid als golang, is een programmeertaal die sinds 2007 ontwikkeld wordt door Google en de opensource-gemeenschap. De taal wordt onder andere door CloudFlare, Google, Netflix en Uber gebruikt. Go-code kan worden gecompileerd voor Android, Linux, OS X, FreeBSD en Windows op i386-, amd64- en ARM-processorarchitecturen. De syntax van Go is vergelijkbaar met die van C en soortgelijke programmeertalen, hoewel er ook enkele opvallende verschillen zijn. Ook biedt Go de mogelijkheid voor gedistribueerd programmeren, waarbij verschillende processen tegelijk uitgevoerd worden. Het team heeft Go 1.8 vrijgegeven met de volgende aankondiging:

Go 1.8 is released

Today the Go team is happy to announce the release of Go 1.8. You can get it from the download page. There are significant performance improvements and changes across the standard library.

The compiler back end introduced in Go 1.7 for 64-bit x86 is now used on all architectures, and those architectures should see significant performance improvements. For instance, the CPU time required by our benchmark programs was reduced by 20-30% on 32-bit ARM systems. There are also some modest performance improvements in this release for 64-bit x86 systems. The compiler and linker have been made faster. Compile times should be improved by about 15% over Go 1.7. There is still more work to be done in this area: expect faster compilation speeds in future releases.

Garbage collection pauses should be significantly shorter, usually under 100 microseconds and often as low as 10 microseconds.

The HTTP server adds support for HTTP/2 Push, allowing servers to preemptively send responses to a client. This is useful for minimizing network latency by eliminating roundtrips. The HTTP server also adds support for graceful shutdown, allowing servers to minimize downtime by shutting down only after serving all requests that are in flight.

Contexts (added to the standard library in Go 1.7) provide a cancelation and timeout mechanism. Go 1.8 adds support for contexts in more parts of the standard library, including the database/sql and net packages and Server.Shutdown in the net/http package.

It's now much simpler to sort slices using the newly added Slice function in the sort package. For example, to sort a slice of structs by their Name field:
sort.Slice(s, func(i, j int) bool { return s[i].Name < s[j].Name })

Go 1.8 includes many more additions, improvements, and fixes. Find the complete set of changes, and more information about the improvements listed above, in the Go 1.8 release notes.

To celebrate the release, Go User Groups around the world are holding release parties this week. Release parties have become a tradition in the Go community, so if you missed out this time, keep an eye out when 1.9 nears.

Thank you to over 200 contributors who helped with this release.
Versienummer 1.8
Releasestatus Final
Besturingssystemen Windows 7, Android, Linux, BSD, macOS, Windows Server 2008, Windows Server 2012, Windows 8, Windows 10
Website The Go Blog
Download https://golang.org/dl/
Licentietype Voorwaarden (GNU/BSD/etc.)

Update-historie

Reacties (4)

Wijzig sortering
Kan iemand mij vertellen wat voor zwarte magie ze hebben moeten gebruiken om die GC zo snel te krijgen? Welke negatieven kleven eraan t.o.v die van de JVM of CLR?
Garbage collection is altijd een trade-off, bij Go hebben ze ervoor gekomen om de pauzes te minimaliseren, ten koste van de totale doorvoer. Erg goede uitleg in dit artikel: https://blog.plan99.net/m...e-collection-911ef4f8bd8e
Aan alles hangen voor en nadelen. Jammer genoeg word de lage latency gecompenseerd met een lagere doorvoer van data. Het is ideaal als je Go gebruikt voor dezelfde projecten als Google. Kleine datasets maar veel communicatie.

Dit is ook tegelijk het nadeel aan Go als een programmatie taal. Iedere taal heeft natuurlijk zijn eigen bias voor het platform of werkgever waar men voor ontwikkeld.

Swift - Apple focust
C# = MS focust ( Minder deze dagen, vooral met .net Core )

Go zie je hetzelfde opduiken. Garbage Collector above all! Dit komt puur en simpel wegens die enorme focus op Google hun interne diensten.
Op dezelfde manier geredeneerd:

Java = Sun focussed (ooit "The network is the computer").
Rust https://www.rust-lang.org/en-US/ = Mozilla focussed.....

Oh wacht, achter Rust staat geen groot bedrijf, maar een hele community van enthousiastelingen, zie taartdiagram rechtsonder:
https://rust-analytics.mozilla.community/
Dit voorkomt de bias van een platform of een werkgever: iedereen even blij met de gemaakte keuzes.

[Reactie gewijzigd door scholtnp op 28 februari 2017 23:27]

Op dit item kan niet meer gereageerd worden.


Apple iPhone X Google Pixel 2 XL LG W7 Samsung Galaxy S8 Google Pixel 2 Sony Bravia A1 OLED Microsoft Xbox One X Apple iPhone 8

© 1998 - 2017 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Hardware.Info de Persgroep Online Services B.V. Hosting door True

*