У меня есть кусок кода, который вызывает:
regex_search
Много раз. Каждый раз он использует другое скомпилированное регулярное выражение (объект регулярного выражения).
Это узкое место в производительности кода.
Я знаю, что регулярные выражения могут быть преобразованы в конечный автомат. Несколько регулярных выражений могут быть преобразованы в один гигантский конечный автомат с разными точками выхода. Это обычно улучшает скорость.
Есть ли инструмент, который делает это? Где я могу ввести регулярное выражение ECMA (как в C ++) и вывести конечный автомат в C ++ или C?
Задача ещё не решена.
Других решений пока нет …