Benchmark overload resolution at compile time.
Wed Jul 8 17:34:16 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* Benchmark overload resolution at compile time.
hunk ./benchmark.lisp 42
- (sb-ext:gc :full t)
+ (tg:gc :full t)
hunk ./benchmark.lisp 65
- #'cl-smoke-benchmark-signal-slot 5000 1000)
+ #'cl-smoke-benchmark-signal-slot 1000 1000)
hunk ./benchmark.lisp 67
- #'cl-smoke-benchmark-byte-array-size 50000 3000)
+ #'cl-smoke-benchmark-byte-array-size 10000 3000)
hunk ./benchmark.lisp 69
- #'cl-smoke-benchmark-simple-call 50000 3000)
+ #'cl-smoke-benchmark-simple-call 10000 3000)
+ (run-compare "simple-call-compile-time" #'simple-call-compile-time
+ #'cl-smoke-benchmark-simple-call 10000 3000)
hunk ./cl-smoke.benchmark.mbd 33
- (:needs :qt :cffi :sysdef.cmake))
+ (:needs :qt :cffi :sysdef.cmake :trivial-garbage))
hunk ./lisp-benchmark.lisp 13
- (declare (qt:object object))
+; (declare (qt:object object))
hunk ./lisp-benchmark.lisp 20
+#+sbcl
+(smoke::define-resolve-at-compile-time cxx:kill-timer)
+
+(let ((object (make-instance 'qt:object)))
+ (declare (qt:object object))
+ (defun simple-call-compile-time (iterations)
+ (declare (fixnum iterations)
+ (optimize (speed 3)))
+ (dotimes (i iterations)
+ (cxx:kill-timer object 0))))
+
hunk ./plot.R 39
+cxx_simple_call <- read.table("cxx-simple-call-compile-time.dat", header=TRUE)
+simple_call <- read.table("simple-call-compile-time.dat", header=TRUE)
+boxplot_benchmark(simple_call, cxx_simple_call)
+title("Simple Call with overload resolution at compile time.")
+