(Arne Babenhauserheide)
2017-04-11: shared string append shared string append
diff --git a/examples/benchmark.w b/examples/benchmark.w --- a/examples/benchmark.w +++ b/examples/benchmark.w @@ -302,6 +302,13 @@ define : bench-append-string param-list benchmark (string-append a b) :let ((a (make-string N))(b (make-string m))) zip param-list : map f param-list +define : bench-append-string/shared param-list + . "Test (string-append/shared a b) with lists of lengths from the param-list." + define : f x + let : (N (list-ref x 0)) (m (list-ref x 1)) + benchmark (string-append/shared a b) :let ((a (make-string N))(b (make-string m))) + zip param-list : map f param-list + ;; Vector benchmarks define : bench-append-vector param-list . "Test (vector-append a b) with lists of lengths from the param-list." @@ -610,9 +617,14 @@ define : main args pbr (bench-append-string param-list) H-lin . #:title : title "string-append (make-string N) (make-string m)" . #:filename : filename "string-append" + pbr (bench-append-string/shared param-list) H-lin + . #:title : title "string-append/shared (make-string N) (make-string m)" + . #:filename : filename "string-append-shared" + ;; vectors pbr (bench-append-vector param-list) H-lin . #:title : title "vector-append (make-vector N 1) (make-vector m 1)" . #:filename : filename "vector-append" + ;; maps pbr (bench-assoc param-list) H . #:title : title "assoc m '((1 . 1) (2 . 2) ... (N . N))" . #:filename : filename "assoc"