From 864c6bcbc760e1726b3e1a8274fab0445b869525 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Fri, 4 Dec 2009 21:44:29 -0800 Subject: [PATCH] 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 --- test/bench/reverse-complement.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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]; } } -- 2.50.0