summaryrefslogtreecommitdiff
path: root/test/bench/reverse-complement.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/bench/reverse-complement.go')
-rw-r--r--test/bench/reverse-complement.go44
1 files changed, 22 insertions, 22 deletions
diff --git a/test/bench/reverse-complement.go b/test/bench/reverse-complement.go
index a685e43b5..baa30ffcc 100644
--- a/test/bench/reverse-complement.go
+++ b/test/bench/reverse-complement.go
@@ -36,8 +36,8 @@ POSSIBILITY OF SUCH DAMAGE.
package main
import (
- "bufio";
- "os";
+ "bufio"
+ "os"
)
const lineSize = 60
@@ -62,44 +62,44 @@ var complement = [256]uint8{
}
func main() {
- in := bufio.NewReader(os.Stdin);
- buf := make([]byte, 1024*1024);
- line, err := in.ReadSlice('\n');
+ in := bufio.NewReader(os.Stdin)
+ buf := make([]byte, 1024*1024)
+ line, err := in.ReadSlice('\n')
for err == nil {
- os.Stdout.Write(line);
+ os.Stdout.Write(line)
// Accumulate reversed complement in buf[w:]
- nchar := 0;
- w := len(buf);
+ nchar := 0
+ w := len(buf)
for {
- line, err = in.ReadSlice('\n');
+ line, err = in.ReadSlice('\n')
if err != nil || line[0] == '>' {
break
}
- line = line[0 : len(line)-1];
- nchar += len(line);
+ line = line[0 : len(line)-1]
+ nchar += len(line)
if len(line)+nchar/60+128 >= w {
- nbuf := make([]byte, len(buf)*5);
- copy(nbuf[len(nbuf)-len(buf):], buf);
- w += len(nbuf) - len(buf);
- buf = nbuf;
+ nbuf := make([]byte, len(buf)*5)
+ copy(nbuf[len(nbuf)-len(buf):], buf)
+ w += len(nbuf) - len(buf)
+ buf = nbuf
}
// This loop is the bottleneck.
for _, c := range line {
- w--;
- buf[w] = complement[c];
+ w--
+ buf[w] = complement[c]
}
}
// Copy down to beginning of buffer, inserting newlines.
// The loop left room for the newlines and 128 bytes of padding.
- i := 0;
+ i := 0
for j := w; j < len(buf); j += 60 {
- n := copy(buf[i:i+60], buf[j:]);
- buf[i+n] = '\n';
- i += n + 1;
+ n := copy(buf[i:i+60], buf[j:])
+ buf[i+n] = '\n'
+ i += n + 1
}
- os.Stdout.Write(buf[0:i]);
+ os.Stdout.Write(buf[0:i])
}
}