mirror of
https://github.com/golang/go
synced 2024-11-19 23:44:43 -07:00
8764ebee95
make regexp-dna use bytes not strings (no significant timing change) R=rsc DELTA=149 (138 added, 1 deleted, 10 changed) OCL=32804 CL=32807
100 lines
2.1 KiB
Bash
Executable File
100 lines
2.1 KiB
Bash
Executable File
#!/bin/sh
|
|
# Copyright 2009 The Go Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style
|
|
# license that can be found in the LICENSE file.
|
|
|
|
set -e
|
|
. $GOROOT/src/Make.$GOARCH
|
|
|
|
gc() {
|
|
$GC $1.go; $LD $1.$O
|
|
}
|
|
|
|
gc_B() {
|
|
$GC -B $1.go; $LD $1.$O
|
|
}
|
|
|
|
run() {
|
|
echo -n ' '$1' '
|
|
$1
|
|
shift
|
|
(/home/r/plan9/bin/time $* 2>&1 >/dev/null) | sed 's/r.*/r/'
|
|
}
|
|
|
|
fasta() {
|
|
echo 'fasta -n 25000000'
|
|
run 'gcc -O2 fasta.c' a.out 25000000
|
|
#run 'gccgo -O2 fasta.go' a.out -n 25000000 #commented out until WriteString is in bufio
|
|
run 'gc fasta' $O.out -n 25000000
|
|
run 'gc_B fasta' $O.out -n 25000000
|
|
}
|
|
|
|
revcomp() {
|
|
gcc -O2 fasta.c
|
|
a.out 25000000 > x
|
|
echo 'reverse-complement < output-of-fasta-25000000'
|
|
run 'gcc -O2 reverse-complement.c' a.out < x
|
|
run 'gccgo -O2 reverse-complement.go' a.out < x
|
|
run 'gc reverse-complement' $O.out < x
|
|
run 'gc_B reverse-complement' $O.out < x
|
|
rm x
|
|
}
|
|
|
|
nbody() {
|
|
echo 'nbody -n 50000000'
|
|
run 'gcc -O2 nbody.c' a.out 50000000
|
|
run 'gccgo -O2 nbody.go' a.out -n 50000000
|
|
run 'gc nbody' $O.out -n 50000000
|
|
run 'gc_B nbody' $O.out -n 50000000
|
|
}
|
|
|
|
binarytree() {
|
|
echo 'binary-tree 15 # too slow to use 20'
|
|
run 'gcc -O2 binary-tree.c -lm' a.out 15
|
|
run 'gccgo -O2 binary-tree.go' a.out -n 15
|
|
run 'gccgo -O2 binary-tree-freelist.go' $O.out -n 15
|
|
run 'gc binary-tree' $O.out -n 15
|
|
run 'gc binary-tree-freelist' $O.out -n 15
|
|
}
|
|
|
|
fannkuch() {
|
|
echo 'fannkuch 12'
|
|
run 'gcc -O2 fannkuch.c' a.out 12
|
|
run 'gccgo -O2 fannkuch.go' a.out -n 12
|
|
run 'gc fannkuch' $O.out -n 12
|
|
run 'gc_B fannkuch' $O.out -n 12
|
|
}
|
|
|
|
regexdna() {
|
|
gcc -O2 fasta.c
|
|
a.out 100000 > x
|
|
echo 'regex-dna 100000'
|
|
run 'gcc -O2 regex-dna.c -lpcre' a.out <x
|
|
# run 'gccgo -O2 regex-dna.go' a.out <x # pages badly; don't run
|
|
run 'gc regex-dna' $O.out <x
|
|
run 'gc_B regex-dna' $O.out <x
|
|
rm x
|
|
}
|
|
|
|
spectralnorm() {
|
|
echo 'spectral-norm 5500'
|
|
run 'gcc -O2 spectral-norm.c -lm' a.out 5500
|
|
run 'gccgo -O2 spectral-norm.go' a.out -n 5500
|
|
run 'gc spectral-norm' $O.out -n 5500
|
|
run 'gc_B spectral-norm' $O.out -n 5500
|
|
}
|
|
|
|
case $# in
|
|
0)
|
|
run="fasta revcom nbody binarytree fannkuch regexdna spectralnorm"
|
|
;;
|
|
*)
|
|
run=$*
|
|
esac
|
|
|
|
for i in $run
|
|
do
|
|
$i
|
|
echo
|
|
done
|