The mapping from strings to symbols in INTERN is currently done with a hash table. However, in an application I found using an optimized decision tree could be much faster.
This enhancement request is to add a capability to do this to the implementation of INTERN and FIND-SYMBOL. For example, packages that inherit from COMMON-LISP might use this to improve the intern processing of the external symbols of that package.
This optimization could be done statically, with profile guidance, or even dynamically (after a certain number of interns on a package, produce and compile a specialized intern function for that package.)
The mapping from strings to symbols in INTERN is currently done with a hash table. However, in an application I found using an optimized decision tree could be much faster.
This enhancement request is to add a capability to do this to the implementation of INTERN and FIND-SYMBOL. For example, packages that inherit from COMMON-LISP might use this to improve the intern processing of the external symbols of that package.
This optimization could be done statically, with profile guidance, or even dynamically (after a certain number of interns on a package, produce and compile a specialized intern function for that package.)