Offset Universal TimeGBBopen ToolsSearch TreesTransitioning Sets and TablesGoTo Top

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).

ESETs

An ESET (short for 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.

ETs

An ET (short for 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


Offset Universal TimeGBBopen ToolsSearch TreesTransitioning Sets and TablesGoTo Top