Hi,
The recent 1.4.x release which replaced hash tables with a "charset" implementation by Nikodemus was meant to make scanner creation cheaper while not sacrificing matching performance (ideally increasing it). I have to admit I haven't tested this a lot before releasing it (except for correctness), but there seems to be some evidence that scanners are significantly slower now for some Lisps.
I'd be interested in your experiences on different platforms. This change should only affect regular expressions with character classes and it should only make a difference for large values of *REGEX-CHAR-CODE-LIMIT*. If you see significant changes in that area, good or bad, please let me know, including your Lisp and OS. If the majority sees a degradation, I might just revoke this change.
Thanks, Edi.
cl-ppcre-devel@common-lisp.net