Jun 18, 2020

[Go] 1.15 features

new linker:
https://golang.org/s/better-linker

Worth a read to have better understanding about the linking process in Go.
Due to language package layout, some linking efforts can dedicated to compiler.

Also, unlike C's dynamic library(.so, shared object) Go binary should be able to directly load a Go object file into its running image.


embed tzdata with time/tzdata:
https://golang.org/issue/38017

add testing.TB.TempDir:
https://golang.org/issue/35998

add testing.T.Deadline:
https://golang.org/issue/28135

go env GOMODCACHE:
https://golang.org/issue/34527

vet: detect impossible interface assertions:
https://golang.org/issue/4483
While Go has no function overload, ADL, etc.
The anonymous interface type conversion can be checked at compile time in a fast fashion:
package main
import "io"

func main() {
 var y interface {
  Read()
 }
 _ = y.(io.Reader)
}


compiler adds a -spectre flag:
https://golang.org/cl/222660

-timeout flag affects the test cache:
https://golang.org/issue/36134

skip //go: lines in godoc comments:
https://golang.org/issue/37974

allow println(twoValues()):
https://golang.org/issue/35576

panic: show printable values behind addresses:
https://golang.org/issue/37531

better write barriers on amd64:
https://golang.org/cl/226367

mid-stack inlining of funcs in a recursion chain:
https://golang.org/issue/29737

use dup3 in forkAndExec on Linux:
https://golang.org/cl/220422

15% speed up in sha512:
https://golang.org/cl/211617

ReadMemStats latency down 95%:
https://golang.org/issue/19812

speed up receive on closed channel by 99%:
https://golang.org/issue/32529

don't alloc when converting small ints to interfaces:
https://golang.org/cl/216401

intrinsic for CPU features:
https://golang.org/issue/36351


Try out:
$ go get golang.org/dl/gotip

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.