Hi,
Here is a short summary of all the improvements related to the SelectorTable
(which allows the tools to quickly check if a symbol is used as a selector):
- It is reset at image build (#cleanUp)
- re-creating is fast (#bench shows '16.902 per second' on my machine
for rebuildSelectorTable)
(we can even think about resetting it on #shutDown: now)
- Recording happens at method installation, not compilation
- this means we call it far less on code loading
- not called anymore for doIts and FFI method creation
- optimized: #isSelectorSymbol is ~3.5 times faster in Pharo11 compared to
Pharo10
- most speedup due to using a identity dictionary, avoiding costly
string comparing
- all users of #findInternedSelector: have been changed to send
#isSelectorSymbol to the symbol
- #findInternedSelector: will be deprecated
Marcus