Hacker News new | ask | show | jobs
by bradfitz 2862 days ago
One of the other exciting things in this release is the almost entirely rewritten "prove" pass in the compiler:

https://golang.org/doc/go1.11#performance-compiler

> The compiler now performs significantly more aggressive bounds-check and branch elimination. Notably, it now recognizes transitive relations, so if i<j and j<len(s), it can use these facts to eliminate the bounds check for s[i]. It also understands simple arithmetic such as s[i-10] and can recognize more inductive cases in loops. Furthermore, the compiler now uses bounds information to more aggressively optimize shift operations.

1 comments

Any benchmarks yet?
Generally faster.

https://golang.org/doc/go1.11#performance

Depends what you measure. Some parts if you microbenchmark them are 10x faster, or much more.