src/make-quickutils.lisp @ ab7ad2d6f641

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 a3466a551136
children a8598eafe403
(ql:quickload 'quickutil)

(qtlc:save-utils-as
  "quickutils.lisp"
  :utilities '(:define-constant
               :set-equal
               :curry
               :switch
               :ensure-boolean
               :while
               :until
               :tree-member-p
               :tree-collect
               :with-gensyms
               :once-only
               :zip
               :alist-to-hash-table
               :map-tree
               :weave
               :alist-plist
               :equivalence-classes
               :map-product)
  :package "BONES.QUICKUTILS")