summaryrefslogtreecommitdiff
path: root/test/bench
diff options
context:
space:
mode:
authorRob Pike <r@golang.org>2009-11-18 15:24:24 -0800
committerRob Pike <r@golang.org>2009-11-18 15:24:24 -0800
commit6adbf55a9662f436d168ca59fd230e49da5ba794 (patch)
treea54bad89b8447ed713d40539471ce8d1b9f811ff /test/bench
parent4efd9b892c94e5279ef3e89c8ddef4c2b2fd9227 (diff)
downloadgo-6adbf55a9662f436d168ca59fd230e49da5ba794.tar.gz
remove bytes.Copy
replace all calls with calls to copy use copy in regexp and bytes.Buffer R=rsc CC=golang-dev http://codereview.appspot.com/157073
Diffstat (limited to 'test/bench')
-rw-r--r--test/bench/fasta.go89
-rw-r--r--test/bench/reverse-complement.go51
2 files changed, 69 insertions, 71 deletions
diff --git a/test/bench/fasta.go b/test/bench/fasta.go
index 52a55447e..8855d6bb5 100644
--- a/test/bench/fasta.go
+++ b/test/bench/fasta.go
@@ -39,7 +39,6 @@ package main
import (
"bufio";
- "bytes";
"flag";
"os";
"strings";
@@ -55,7 +54,7 @@ func min(a, b int) int {
if a < b {
return a
}
- return b
+ return b;
}
type AminoAcid struct {
@@ -63,23 +62,23 @@ type AminoAcid struct {
c byte;
}
-var lastrandom uint32 = 42
+var lastrandom uint32 = 42
// Random number between 0.0 and 1.0
func myrandom() float {
const (
- IM = 139968;
- IA = 3877;
- IC = 29573;
+ IM = 139968;
+ IA = 3877;
+ IC = 29573;
)
- lastrandom = (lastrandom * IA + IC) % IM;
+ lastrandom = (lastrandom*IA + IC) % IM;
// Integer to float conversions are faster if the integer is signed.
return float(int32(lastrandom)) / IM;
}
func AccumulateProbabilities(genelist []AminoAcid) {
for i := 1; i < len(genelist); i++ {
- genelist[i].p += genelist[i-1].p;
+ genelist[i].p += genelist[i-1].p
}
}
@@ -90,16 +89,16 @@ func AccumulateProbabilities(genelist []AminoAcid) {
// It assumes that WIDTH <= len(s) + 1.
func RepeatFasta(s []byte, count int) {
pos := 0;
- s2 := make([]byte, len(s) + WIDTH);
- bytes.Copy(s2, s);
- bytes.Copy(s2[len(s):len(s2)], s);
+ s2 := make([]byte, len(s)+WIDTH);
+ copy(s2, s);
+ copy(s2[len(s):len(s2)], s);
for count > 0 {
line := min(WIDTH, count);
- out.Write(s2[pos:pos+line]);
+ out.Write(s2[pos : pos+line]);
out.WriteByte('\n');
pos += line;
if pos >= len(s) {
- pos -= len(s);
+ pos -= len(s)
}
count -= line;
}
@@ -114,7 +113,7 @@ func RepeatFasta(s []byte, count int) {
// This sequence is repeated count times.
// Between each WIDTH consecutive characters, the function prints a newline.
func RandomFasta(genelist []AminoAcid, count int) {
- buf := make([]byte, WIDTH + 1);
+ buf := make([]byte, WIDTH+1);
for count > 0 {
line := min(WIDTH, count);
for pos := 0; pos < line; pos++ {
@@ -125,7 +124,7 @@ func RandomFasta(genelist []AminoAcid, count int) {
buf[pos] = genelist[i].c;
}
buf[line] = '\n';
- out.Write(buf[0:line + 1]);
+ out.Write(buf[0 : line+1]);
count -= line;
}
}
@@ -136,29 +135,29 @@ func main() {
flag.Parse();
- iub := []AminoAcid {
- AminoAcid{ 0.27, 'a' },
- AminoAcid{ 0.12, 'c' },
- AminoAcid{ 0.12, 'g' },
- AminoAcid{ 0.27, 't' },
- AminoAcid{ 0.02, 'B' },
- AminoAcid{ 0.02, 'D' },
- AminoAcid{ 0.02, 'H' },
- AminoAcid{ 0.02, 'K' },
- AminoAcid{ 0.02, 'M' },
- AminoAcid{ 0.02, 'N' },
- AminoAcid{ 0.02, 'R' },
- AminoAcid{ 0.02, 'S' },
- AminoAcid{ 0.02, 'V' },
- AminoAcid{ 0.02, 'W' },
- AminoAcid{ 0.02, 'Y' }
+ iub := []AminoAcid{
+ AminoAcid{0.27, 'a'},
+ AminoAcid{0.12, 'c'},
+ AminoAcid{0.12, 'g'},
+ AminoAcid{0.27, 't'},
+ AminoAcid{0.02, 'B'},
+ AminoAcid{0.02, 'D'},
+ AminoAcid{0.02, 'H'},
+ AminoAcid{0.02, 'K'},
+ AminoAcid{0.02, 'M'},
+ AminoAcid{0.02, 'N'},
+ AminoAcid{0.02, 'R'},
+ AminoAcid{0.02, 'S'},
+ AminoAcid{0.02, 'V'},
+ AminoAcid{0.02, 'W'},
+ AminoAcid{0.02, 'Y'},
};
- homosapiens := []AminoAcid {
- AminoAcid{ 0.3029549426680, 'a' },
- AminoAcid{ 0.1979883004921, 'c' },
- AminoAcid{ 0.1975473066391, 'g' },
- AminoAcid{ 0.3015094502008, 't' }
+ homosapiens := []AminoAcid{
+ AminoAcid{0.3029549426680, 'a'},
+ AminoAcid{0.1979883004921, 'c'},
+ AminoAcid{0.1975473066391, 'g'},
+ AminoAcid{0.3015094502008, 't'},
};
AccumulateProbabilities(iub);
@@ -166,17 +165,17 @@ func main() {
alu := strings.Bytes(
"GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG"
- "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA"
- "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT"
- "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA"
- "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG"
- "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC"
- "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA");
+ "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA"
+ "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT"
+ "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA"
+ "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG"
+ "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC"
+ "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA");
out.WriteString(">ONE Homo sapiens alu\n");
- RepeatFasta(alu, 2 * *n);
+ RepeatFasta(alu, 2**n);
out.WriteString(">TWO IUB ambiguity codes\n");
- RandomFasta(iub, 3 * *n);
+ RandomFasta(iub, 3**n);
out.WriteString(">THREE Homo sapiens frequency\n");
- RandomFasta(homosapiens, 5 * *n);
+ RandomFasta(homosapiens, 5**n);
}
diff --git a/test/bench/reverse-complement.go b/test/bench/reverse-complement.go
index 28feed094..a7ea8afbd 100644
--- a/test/bench/reverse-complement.go
+++ b/test/bench/reverse-complement.go
@@ -37,39 +37,38 @@ package main
import (
"bufio";
- "bytes";
"os";
)
-const lineSize = 60
+const lineSize = 60
-var complement = [256]uint8 {
- 'A': 'T', 'a': 'T',
- 'C': 'G', 'c': 'G',
- 'G': 'C', 'g': 'C',
- 'T': 'A', 't': 'A',
- 'U': 'A', 'u': 'A',
- 'M': 'K', 'm': 'K',
- 'R': 'Y', 'r': 'Y',
- 'W': 'W', 'w': 'W',
- 'S': 'S', 's': 'S',
- 'Y': 'R', 'y': 'R',
- 'K': 'M', 'k': 'M',
- 'V': 'B', 'v': 'B',
- 'H': 'D', 'h': 'D',
- 'D': 'H', 'd': 'H',
- 'B': 'V', 'b': 'V',
- 'N': 'N', 'n': 'N',
+var complement = [256]uint8{
+ 'A': 'T', 'a': 'T',
+ 'C': 'G', 'c': 'G',
+ 'G': 'C', 'g': 'C',
+ 'T': 'A', 't': 'A',
+ 'U': 'A', 'u': 'A',
+ 'M': 'K', 'm': 'K',
+ 'R': 'Y', 'r': 'Y',
+ 'W': 'W', 'w': 'W',
+ 'S': 'S', 's': 'S',
+ 'Y': 'R', 'y': 'R',
+ 'K': 'M', 'k': 'M',
+ 'V': 'B', 'v': 'B',
+ 'H': 'D', 'h': 'D',
+ 'D': 'H', 'd': 'H',
+ 'B': 'V', 'b': 'V',
+ 'N': 'N', 'n': 'N',
}
var in *bufio.Reader
func reverseComplement(in []byte) []byte {
- outLen := len(in) + (len(in) + lineSize -1)/lineSize;
+ outLen := len(in) + (len(in)+lineSize-1)/lineSize;
out := make([]byte, outLen);
j := 0;
k := 0;
- for i := len(in)-1; i >= 0; i-- {
+ for i := len(in) - 1; i >= 0; i-- {
if k == lineSize {
out[j] = '\n';
j++;
@@ -106,15 +105,15 @@ func main() {
top = 0;
}
os.Stdout.Write(line);
- continue
+ continue;
}
- line = line[0:len(line)-1]; // drop newline
+ line = line[0 : len(line)-1]; // drop newline
if top+len(line) > len(buf) {
- nbuf := make([]byte, 2*len(buf) + 1024*(100+len(line)));
- bytes.Copy(nbuf, buf[0:top]);
+ nbuf := make([]byte, 2*len(buf)+1024*(100+len(line)));
+ copy(nbuf, buf[0:top]);
buf = nbuf;
}
- bytes.Copy(buf[top:len(buf)], line);
+ copy(buf[top:len(buf)], line);
top += len(line);
}
output(buf[0:top]);