wisp
 
(Arne Babenhauserheide)
2017-04-06: add plan for benchmarks

add plan for benchmarks

diff --git a/examples/benchmark.w b/examples/benchmark.w
--- a/examples/benchmark.w
+++ b/examples/benchmark.w
@@ -117,7 +117,32 @@ define : logiota steps start stepsize
         map inexact->exact : map round : map exp : iota steps logstart logstep 
 
 
-;; List benchmarks
+;; interesting functions to benchmark:
+;; - TODO: add to set/alist/hashmap
+;; - TODO: retrieve from alist/hashmap
+;; - TODO: sort
+;; - ... see https://wiki.python.org/moin/TimeComplexity
+
+;; operation benchmarks
+;; - TODO: or #f #t
+;; - TODO: and #t #f
+
+;; List benchmarks:
+;; - TODO: list-copy (py-copy)
+;; - cons (py-push / py-append)
+;; - car (py-pop)
+;; - list-ref (py-get-item)
+;; - TODO: list-set! (py-set-item)
+;; - TODO: take + drop (py-get-slice)
+;; - TODO: take-right + drop-right (py-get-slice)
+;; - TODO: last
+;; - TODO: append (py-extend)
+;; - TODO: delete (py-delete-item)
+;; - TODO: min (py-min)
+;; - TODO: max (py-max)
+;; - TODO: member (py-in)
+;; - TODO: reverse (py-reversed)
+;; - TODO: length (py-len)
 define : bench-append param-list
   . "Test (append a b) with lists of lengths from the param-list."
   define : f x
@@ -174,6 +199,10 @@ define : bench-set param-list
             benchmark (list-set! a b) :let ((a (iota N))(b m))
   zip param-list : map f param-list
 
+
+;; VList benchmarks
+
+
 ;; String benchmarks
 define : bench-append-string param-list
   . "Test (string-append a b) with lists of lengths from the param-list."
@@ -357,7 +386,7 @@ define* : plot-benchmark-result bench H 
           format port "yopt = [float(i) for i in '~A'[1:-1].split(' ')]\n" : list-ec (: i y⁰-pos) : H x-opt i
           format port "yoptstds = [float(i) for i in '~A'[1:-1].split(' ')]\n" y-stds
           ;; format port "pl.errorbar(*zip(*sorted(zip(ypos1, yinit))), yerr=zip(*sorted(zip(ypos1, yinitstds)))[1], label='prior vs N')\n"
-          format port "pl.errorbar(*zip(*sorted(zip(ypos1, yopt))), yerr=zip(*sorted(zip(ypos1, yoptstds)))[1], marker='H', mew=0, ms=10, linewidth=0.1, label='optimized vs N')\n"
+          format port "pl.errorbar(*zip(*sorted(zip(ypos1, yopt))), yerr=zip(*sorted(zip(ypos1, yoptstds)))[1], marker='H', mew=1, ms=10, linewidth=0.1, label='optimized vs N')\n"
           format port "eb=pl.errorbar(*zip(*sorted(zip(ypos1, y0))), yerr=ystds, alpha=0.6, marker='x', mew=2, ms=10, linewidth=0, label='measurements vs N')\neb[-1][0].set_linewidth(1)\n"
           ;; format port "pl.errorbar(*zip(*sorted(zip(ypos2, yinit))), yerr=zip(*sorted(zip(ypos2, yinitstds)))[1], label='prior vs. m')\n"
           format port "pl.errorbar(*zip(*sorted(zip(ypos2, yopt))), yerr=zip(*sorted(zip(ypos2, yoptstds)))[1], marker='h', mew=0, ms=10, linewidth=0.1, label='optimized vs. m')\n"
@@ -448,11 +477,6 @@ define : main args
               pbr (bench-cons param-list) H
                   . #:title : title "cons m (iota N)"
                   . #:filename : filename "cons"
-              ;; interesting functions: 
-              ;; - add to set/alist/hashmap
-              ;; - retrieve from alist/hashmap
-              ;; - sort
-              ;; - ... see https://wiki.python.org/moin/TimeComplexity
             lp
                 cdr N-start
                 cdr N-step