On Thu, Dec 27, 2018 at 10:49 PM Ma Lin <malin...@163.com> wrote: > > We can use this literal to represent a compiled pattern, for example: > > >>> p"(?i)[a-z]".findall("a1B2c3") > ['a', 'B', 'c'] > > >>> compiled = p"(?<=abc)def" > >>> m = compiled.search('abcdef') > >>> m.group(0) > 'def' > > >>> rp'\W+'.split('Words, words, words.') > ['Words', 'words', 'words', ''] > > This allows peephole optimizer to store compiled pattern in .pyc file, > we can get performance optimization like replacing constant set by > frozenset in .pyc file.
Before discussing something specific like regex literal syntax, I would love to see a way to measure that sort of performance difference. Does anyone here have MacroPy experience or something and could mock something up that would precompile and save a regex? In theory, it would be possible to tag ANY value as "constant once evaluated" and have it saved in the pyc. It'd be good to know just how much benefit this precompilation actually grants. > [2] Chris Angelico conceived of "compiled regexes be stored in .pyc > file" in March 2013. > [2] https://mail.python.org/pipermail/python-ideas/2013-March/020043.html Wow that's an old post of mine :) ChrisA _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/