Optimize `find-anonymous-variables`
After some profiling I found that this function was taking 4% of the total
runtime just on its own. The culprit was `tree-collect`, which does some
expensive things (like `(gensym)`). Because we know exactly what we need we can
write something much faster, and profiling confirms that this function isn't
even on the map any more.
author |
Steve Losh <steve@stevelosh.com> |
date |
Mon, 11 Jul 2016 21:38:03 +0000 |
parents |
23d4dc2900a1 |
children |
2ce458ef85fd |
(defpackage #:bones-test
(:use
#:cl
#:5am
))
(defpackage #:bones-test.paip
(:use
#:cl
#:5am
#:bones.quickutils
#:bones.paip)
; kill me
(:shadowing-import-from #:5am
#:fail))
(defpackage #:bones-test.wam
(:use
#:cl
#:5am
#:bones.quickutils
#:bones.wam)
(:import-from #:bones.wam
#:with-database
#:make-database
#:with-fresh-database
#:push-logic-frame-with
#:rule
#:fact
#:facts
#:call
#:dump-wam-full
#:?
#:query
#:query-all)
(:shadowing-import-from #:bones.wam
#:!))
(defpackage #:bones-test.circle
(:use :cl :5am :bones.circle))