Type-hint the WAM `setf` functions
Not sure why I never did this before...
author |
Steve Losh <steve@stevelosh.com> |
date |
Sun, 10 Jul 2016 21:08:12 +0000 |
parents |
a3466a551136 |
children |
(none) |
(ql:quickload 'bones)
(load "examples/ggp-wam.lisp")
(require :sb-sprof)
(in-package :bones.wam)
(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)
(load "examples/ggp-wam.lisp")))
(defun run-profile ()
(reload)
(format t "PROFILING -------------------------------~%")
; (sb-sprof:profile-call-counts "COMMON-LISP")
(sb-sprof:profile-call-counts "BONES.WAM")
(sb-sprof:profile-call-counts "BONES.QUICKUTILS")
(sb-sprof:with-profiling (:max-samples 5000
:mode :alloc
:sample-interval 0.0005
:loop nil)
(bones.wam::depth-first-search :exhaust t))
(sb-sprof:report :type :flat)
)
; (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 3) (debug 3)))
; (run-profile)
; (format t "~%~%====================================~%")
; (format t "(speed 3) (safety 0) (debug 0)~%")
(declaim (optimize (speed 3) (safety 0) (debug 0)))
(run-profile)