From c5f14c55c19d872921b476187f153a7361a80fa7 Mon Sep 17 00:00:00 2001 From: Rob Pike Date: Wed, 9 Apr 2014 08:19:35 +1000 Subject: [PATCH] doc/go1.3.html: linker, go command, miscellany LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/85660043 --- doc/go1.3.html | 40 +++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/doc/go1.3.html b/doc/go1.3.html index ffcea97286..3e058c1e4e 100644 --- a/doc/go1.3.html +++ b/doc/go1.3.html @@ -9,11 +9,13 @@

The latest Go release, version 1.3, arrives six months after 1.2, and contains no language changes. -It does have some important developments, though, -including a refinement to the memory model regarding synchronization, +It focuses primarily on implementation work, providing precise garbage collection, +a major refactoring of the compiler tool chain that results in +faster builds, especially for large projects, significant performance improvements across the board, -and support for Google's Native Client architecture (NaCl). +and support for Solaris and Google's Native Client architecture (NaCl). +It also has an important refinement to the memory model regarding synchronization. As always, Go 1.3 keeps the promise of compatibility, and almost everything @@ -34,7 +36,7 @@ TODO

-

Removal of support for Windows 2000

+

Removal of support for Windows 2000

Microsoft stopped supporting Windows 2000 in 2010. @@ -77,10 +79,6 @@ Go 1.2 increased the minimum stack size to 8 kilobytes; with the new stack model put back to 4 kilobytes.

-

-Updating: TODO -

-

Changes to the garbage collector

@@ -91,13 +89,18 @@ liveness (TODO what to say)

-TODO compiler/linker boundary moved - -TODO: liblink: pull linker i/o into separate liblink C library (CL 35790044) +As part of the general overhaul to +the Go linker, the compilers and linkers have been refactored. +The linker is still a C program, but now the instruction selection phase that +was part of the linker has been moved to the compiler through the creation of a new +library called liblink. +By doing instruction selection only once, when the package is first compiled, +this can speed up compilation of large projects significantly.

-Updating: TODO +Updating: Although this is a major internal change, it should have no +effect on programs.

Status of gccgo

@@ -117,9 +120,16 @@ cmd/go: cover -atomic for -race (CL 76370043)

Miscellany

+

+The program misc/benchcmp that compares +performance across benchmarking runs has been rewritten. +Once a shell and awk script in the main repository, it is now a Go program in the go.tools repo. +Documentation is here. +

+ @@ -256,7 +266,7 @@ non-printing.
  • The testing package now -diagnoses tests that call panic(nil), which is almost always erroneous. +diagnoses tests that call panic(nil), which are almost always erroneous.