I am working on a ZLIB/DEFLATE library in Common Lisp. One of the
bottlenecks (the largest, in fact) is %PUTHASH.
My usage pattern involves checking to see if a value is in the hash
table, then putting it in the table if it isn't. Paul Dietz suggested
a "last key" optimization, where the position of the last looked-up
key is saved, so if the next puthash matches the key, no hashing is
needed to store the value. It would be nice if SBCL implemented this