Added transducing benchmark
diff --git a/datokenizer_test.go b/datokenizer_test.go
index e20acd3..5faf0fc 100644
--- a/datokenizer_test.go
+++ b/datokenizer_test.go
@@ -2,6 +2,8 @@
import (
"bytes"
+ "fmt"
+ "os"
"regexp"
"strings"
"testing"
@@ -817,3 +819,37 @@
}
*/
}
+
+func BenchmarkTransduce(b *testing.B) {
+ bu := make([]byte, 0, 2048)
+ w := bytes.NewBuffer(bu)
+
+ s := `Der Vorsitzende der Abk. hat gewählt. Gefunden auf wikipedia.org. Ich bin unter korap@ids-mannheim.de erreichbar.
+ Unsere Website ist https://korap.ids-mannheim.de/?q=Baum. Unser Server ist 10.0.10.51. Zu 50.4% ist es sicher.
+ Der Termin ist am 5.9.2018.
+ Ich habe die readme.txt heruntergeladen.
+ Ausschalten!!! Hast Du nicht gehört???
+ Ich wohne in der Weststr. und Du? Kupietz und Schmidt [2018]: Korpuslinguistik. Dieses verf***** Kleid! Ich habe die readme.txt heruntergeladen.
+ Er sagte: \"Es geht mir gut!\", daraufhin ging er. "Das ist von C&A!" Früher bzw. später ... Sie erreichte den 1. Platz!
+ Archive: Ich bin kein zip. D'dorf Ku'damm Lu'hafen M'gladbach W'schaft.
+ Mach's macht's was'n ist's haste willste kannste biste kriegste.`
+ r := strings.NewReader(s)
+
+ dat := LoadDatokFile("testdata/tokenizer.datok")
+
+ for i := 0; i < b.N; i++ {
+ w.Reset()
+ r.Reset(s)
+ ok := dat.Transduce(r, w)
+ if !ok {
+ fmt.Println("Fail!")
+ fmt.Println(w.String())
+ os.Exit(1)
+ }
+ }
+ // 2021-08-11
+ // BenchmarkTransduce-4 18669 68511 ns/op
+ // BenchmarkTransduce-4 18656 63068 ns/op
+ // BenchmarkTransduce-4 15210 67403 ns/op
+ // BenchmarkTransduce-4 18358 62233 ns/op
+}