Message66418
> Lorenz's patch uses a set, not a list for special characters. Set
> lookup is as fast as dict lookup, but a set takes less memory because it
> does not have to store dummy values. More importantly, use of frozenset
> instead of dict makes the code clearer. On the other hand, I would
> simply use a string. For a dozen entries, hash lookup does not buy you
> much.
>
> Another nit: why use "\\%c" % (c) instead of obvious "\\" + c?
>
> Finally, you can eliminate use of index and a temporary list altogether
> by using a generator expression:
>
> ''.join(("\\" + c if c in _special else '\\000' if c == "\000" else c),
> for c in pattern)
The title of this issue (#2650) is "re.escape should not escape underscore",
not "re.escape is too slow and too easy to read".
If you have an actual, measured performance problem with re.escape,
please open a new issue with numbers to back it up.
That's not what this one is about.
Thanks.
Russ |
|
| Date |
User |
Action |
Args |
| 2008-05-08 14:36:11 | rsc | set | spambayes_score: 0.00134075 -> 0.00134075 recipients:
+ rsc, belopolsky, benjamin.peterson, zanella, donlorenzo |
| 2008-05-08 14:36:09 | rsc | link | issue2650 messages |
| 2008-05-08 14:36:06 | rsc | create | |
|