aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-12-04 21:44:29 -0800
committerRuss Cox <rsc@golang.org>2009-12-04 21:44:29 -0800
commit864c6bcbc760e1726b3e1a8274fab0445b869525 (patch)
tree8dc2ab14421d97e3b50692d8af1ee39aa956b3e1
parent864c757a1cff01f57ff415229674bcf8f701836c (diff)
downloadgo-864c6bcbc760e1726b3e1a8274fab0445b869525.tar.gz
go-864c6bcbc760e1726b3e1a8274fab0445b869525.zip
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
-rw-r--r--test/bench/reverse-complement.go4
1 files 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];
}
}