CharacterSetComplement has been introduced to handle compatibility of CharacterSet with WideCharacters (charCode > 255).
They are homo-morphic with CharacterSet and can be used in place of regular CharacterSet.
However, one optimized feature of CharacterSet, using their byteArrayMap, is completely spoiled regarding efficiency for CharacterSetComplement. An example of this is illustrated using Andreas Raab nextFloat from 0006976 , a slow down up to 10x can be observed because byteArrayMap is computed in tight loops.
If ever String initialization has not been correctly done after installing CharacterSetComplement, this slow down will be observed after a (String initialize).
MessageTally spyOn: [10000 timesRepeat: ['0.0' readStream nextFloat]].
This feature is not often used, but since used in places where speed matters (maybe tight loops), it is better to restore efficiency using a cache. Things that were reasonably optimized in old images shouldn't be spoiled by new changes. I will provide a patch.