(Arne Babenhauserheide)
2017-03-30: add string append benchmark add string append benchmark
diff --git a/examples/benchmark.w b/examples/benchmark.w
--- a/examples/benchmark.w
+++ b/examples/benchmark.w
@@ -140,6 +140,32 @@ define : benchmark-list-append-100-m ste
bench-append (zip (logiota steps 100 0) (logiota steps 1 1000))
+define : bench-append-string param-list
+ . "Test (append a b) with lists of lengths from the param-list."
+ zip param-list
+ map
+ lambda (x)
+ let : (N (list-ref x 0)) (m (list-ref x 1))
+ benchmark (string-append a b) :let ((a (make-string N))(b (make-string m)))
+ . param-list
+
+define : benchmark-string-append-N-1 steps
+ . "Test (append a b) with lists with lengths N and 1."
+ bench-append-string (zip (logiota steps 1 1000) (logiota steps 1 0))
+
+define : benchmark-string-append-N-100 steps
+ . "Test (append a b) with lists with lengths N and 1."
+ bench-append-string (zip (logiota steps 1 1000) (logiota steps 100 0))
+
+define : benchmark-string-append-1-m steps
+ . "Test (append a b) with lists with lengths N and 1."
+ bench-append-string (zip (logiota steps 1 0) (logiota steps 1 1000))
+
+define : benchmark-string-append-100-m steps
+ . "Test (append a b) with lists with lengths N and 1."
+ bench-append-string (zip (logiota steps 100 0) (logiota steps 1 1000))
+
+
;; prepare a multi-function fit
import
only : examples ensemble-estimation
@@ -315,10 +341,14 @@ scalarMap = mpl.cm.ScalarMappable(norm=c
define : main args
let*
- : H : lambda (x pos) (H-N-m x pos #:const #t #:ON #t #:ONlogN #t)
- steps 200
+ : H : lambda (x pos) (H-N-m x pos #:const #t #:ON #t #:ONlogN #t #:OlogN #:Ologm #:Om #:Omlogm)
+ steps 20
pbr plot-benchmark-result
pbr (benchmark-list-append-N-1 steps) H #:filename "/tmp/benchmark-N-1.pdf"
pbr (benchmark-list-append-N-100 steps) H #:filename "/tmp/benchmark-N-100.pdf"
pbr (benchmark-list-append-1-m steps) H #:filename "/tmp/benchmark-1-m.pdf"
pbr (benchmark-list-append-100-m steps) H #:filename "/tmp/benchmark-100-m.pdf"
+ pbr (benchmark-string-append-N-1 steps) H #:filename "/tmp/benchmark-string-N-1.pdf"
+ pbr (benchmark-string-append-N-100 steps) H #:filename "/tmp/benchmark-string-N-100.pdf"
+ pbr (benchmark-string-append-1-m steps) H #:filename "/tmp/benchmark-string-1-m.pdf"
+ pbr (benchmark-string-append-100-m steps) H #:filename "/tmp/benchmark-string-100-m.pdf"