From: Russ Cox Date: Sat, 5 Dec 2009 05:44:29 +0000 (-0800) Subject: test/bench: use range in reverse-complement X-Git-Tag: weekly.2009-12-07~14 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=864c6bcbc760e1726b3e1a8274fab0445b869525;p=gostls13.git test/bench: use range in reverse-complement 1.9s gcc reverse-complement.c reverse-complement.go 4.5s / 3.5s original, with/without bounds checks 3.5s / 3.3s bounds check reduction 3.3s / 2.8s smarter garbage collector 2.6s / 2.3s assembler bytes.IndexByte 2.5s / 2.1s even smarter garbage collector 2.3s / 2.1s fix optimizer unnecessary spill bug 2.0s / 1.9s change loop to range (this CL) R=r https://golang.org/cl/166072 --- diff --git a/test/bench/reverse-complement.go b/test/bench/reverse-complement.go index 60e14dba8c..a685e43b5b 100644 --- a/test/bench/reverse-complement.go +++ b/test/bench/reverse-complement.go @@ -86,9 +86,9 @@ func main() { } // This loop is the bottleneck. - for r := 0; r < len(line); r++ { + for _, c := range line { w--; - buf[w] = complement[line[r]]; + buf[w] = complement[c]; } }