aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-12-04 19:25:25 -0800
committerRuss Cox <rsc@golang.org>2009-12-04 19:25:25 -0800
commite2b23e42a8c65fa071be0416b19abc25d1a3169b (patch)
tree6f0bb390ea5b8fbb00d1f9961baa9548b5fd2fa2
parentd7402cea8c08e3e9420b1a06bc89a8c00b1c3881 (diff)
downloadgo-e2b23e42a8c65fa071be0416b19abc25d1a3169b.tar.gz
go-e2b23e42a8c65fa071be0416b19abc25d1a3169b.zip
test/bench: dead code in reverse-complement
R=r https://golang.org/cl/165065
-rw-r--r--test/bench/reverse-complement.go33
1 files changed, 3 insertions, 30 deletions
diff --git a/test/bench/reverse-complement.go b/test/bench/reverse-complement.go
index c8a525bc9a..60e14dba8c 100644
--- a/test/bench/reverse-complement.go
+++ b/test/bench/reverse-complement.go
@@ -61,37 +61,8 @@ var complement = [256]uint8{
'N': 'N', 'n': 'N',
}
-var in *bufio.Reader
-
-func reverseComplement(in []byte) []byte {
- outLen := len(in) + (len(in)+lineSize-1)/lineSize;
- out := make([]byte, outLen);
- j := 0;
- k := 0;
- for i := len(in) - 1; i >= 0; i-- {
- if k == lineSize {
- out[j] = '\n';
- j++;
- k = 0;
- }
- out[j] = complement[in[i]];
- j++;
- k++;
- }
- out[j] = '\n';
- j++;
- return out[0:j];
-}
-
-func output(buf []byte) {
- if len(buf) == 0 {
- return
- }
- os.Stdout.Write(reverseComplement(buf));
-}
-
func main() {
- in = bufio.NewReader(os.Stdin);
+ in := bufio.NewReader(os.Stdin);
buf := make([]byte, 1024*1024);
line, err := in.ReadSlice('\n');
for err == nil {
@@ -113,6 +84,8 @@ func main() {
w += len(nbuf) - len(buf);
buf = nbuf;
}
+
+ // This loop is the bottleneck.
for r := 0; r < len(line); r++ {
w--;
buf[w] = complement[line[r]];