Как ускорить регулярные выражения в python?
Регулярные выражения предварительно откомпилированы?
Если нет - сделайте это.
Если да - десятикратного выигрыша при переходе на C++ не будет, и не надейтесь.
Питоновский движок re написан на C и сопоставим по быстродействию с реализациями в библиотеках других языков.
Так что:
1. Препроцессинг html - наверняка можно отсечь ненужные куски и выкусить ненужные блоки, прежде чем натравливать на него 3000 паттернов
2. Еще более глубокий препроцессинг - разбиение html на атомарные фрагменты с тем, чтобы, единожды идентифицировав фрагмент, больше по нему не елозить.
Нужно увеличить кэш:>>> import re
>>> re._MAXCACHE
100
>>> re._MAXCACHE = 3000
>>> re._MAXCACHE
3000
Подозреваю, что при этом re.compile() в явном виде использовать не обязательно.