![]() | ![]() | ![]() | Transitioning Sets and Tables | ![]() |
Ideally, native Common Lisp hash tables operations should always be very fast. On some Common Lisp implementations, however, a small amount of time (and space) can be saved by using list-based representations for hash tables with small entry counts. These list-based representations transition automatically to regular hash tables as the entry count grows beyond the performance-advantage threshold (and back to the list representation as the count shrinks). These auto-transitioning representations add a small overhead to normal hash table operations, so their use should be considered very carefully (and restricted to situations where the counts tend to remain low).
eq
-set) is a keys-only table that automatically
transitions between list and hash-table implementations. The keys are used to
represent elements of the ESET and are compared using eq
.
eq
-table) is a key-and-value table that automatically
transitions between list and hash-table implementations. The keys are
compared using eq
.
The GBBopen Project
![]() | ![]() | ![]() | Transitioning Sets and Tables | ![]() |