From e2b23e42a8c65fa071be0416b19abc25d1a3169b Mon Sep 17 00:00:00 2001 From: Russ Cox <rsc@golang.org> Date: Fri, 4 Dec 2009 19:25:25 -0800 Subject: [PATCH] test/bench: dead code in reverse-complement R=r https://golang.org/cl/165065 --- test/bench/reverse-complement.go | 33 +++----------------------------- 1 file 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]]; -- 2.30.9