examples/bench.lisp @ 95d0602ff36b

Begin inlining things

Things seemed a bit slow, so I decided to start poking around the guts of this
thing I've built.  After a couple hours of profiling, poring over disassembly,
tweaking the hottest functions, and inlining things once their bodies were small
enough, I can say it's definitely faster.
author Steve Losh <steve@stevelosh.com>
date Sun, 15 May 2016 00:06:53 +0000
parents 27f037427ad3
children 83f309e6e33a
(ql:quickload 'bones)

(load "examples/ggp-paip.lisp")
(load "examples/ggp.lisp")

(in-package :bones)

(defun reload ()
  (let ((*standard-output* (make-broadcast-stream))
        (*debug-io* (make-broadcast-stream))
        (*terminal-io* (make-broadcast-stream))
        (*error-output* (make-broadcast-stream)))
    (asdf:load-system 'bones :force t)))

(defun run-test ()
  (reload)

  (format t "PAIP ------------------------------~%")
  (time (bones.paip::dfs-exhaust))

  (format t "WAM -------------------------------~%")
  (time (bones.wam::dfs-exhaust)))

; (format t "~%~%====================================~%")
; (format t "(speed 0) (safety 3) (debug 3)~%")
; (declaim (optimize (speed 0) (safety 3) (debug 3)))
; (run-test)

; (format t "~%~%====================================~%")
; (format t "(speed 3) (safety 1) (debug 1)~%")
; (declaim (optimize (speed 3) (safety 1) (debug 1)))
; (run-test)

(format t "~%~%====================================~%")
(format t "(speed 3) (safety 1) (debug 0)~%")
(declaim (optimize (speed 3) (safety 1) (debug 0)))
(run-test)

(format t "~%~%====================================~%")
(format t "(speed 3) (safety 0) (debug 0)~%")
(declaim (optimize (speed 3) (safety 0) (debug 0)))
(run-test)