import (
"bytes"
+ "io"
"strings"
"testing"
)
}
runes := []rune(test.buffer)
if rb.nrune != len(runes) {
- t.Errorf("%s:%d: reorder buffer lenght is %d; want %d", name, i, rb.nrune, len(runes))
+ t.Errorf("%s:%d: reorder buffer length is %d; want %d", name, i, rb.nrune, len(runes))
continue
}
for j, want := range runes {
}
func iterBench(f Form, in []byte) func() {
- buf := make([]byte, 4*len(in))
iter := Iter{}
return func() {
- iter.SetInput(f, in)
+ iter.Init(f, in)
for !iter.Done() {
- iter.Next(buf)
+ iter.Next()
+ }
+ }
+}
+
+func readerBench(f Form, in []byte) func() {
+ buf := make([]byte, 4*len(in))
+ return func() {
+ r := f.Reader(bytes.NewReader(in))
+ var err error
+ for err == nil {
+ _, err = r.Read(buf)
+ }
+ if err != io.EOF {
+ panic("")
+ }
+ }
+}
+
+func writerBench(f Form, in []byte) func() {
+ buf := make([]byte, 0, 4*len(in))
+ return func() {
+ r := f.Writer(bytes.NewBuffer(buf))
+ if _, err := r.Write(in); err != nil {
+ panic("")
}
}
}
func appendBenchmarks(bm []func(), f Form, in []byte) []func() {
//bm = append(bm, appendBench(f, in))
bm = append(bm, iterBench(f, in))
+ //bm = append(bm, readerBench(f, in))
+ //bm = append(bm, writerBench(f, in))
return bm
}