> RE2 — не вершина развития, он внутри довольно плох, кстати
Конечно, не вершина — это "возврат к основам", скорее (т.е. удивительно именно то, что он вообще настолько хорош на современном уровне). Что намекает на то, что последние [почти] 60 лет движки шли куда-то не совсем туда. ;)
Я имел в виду именно используемые алгоритмы.
> сравнение, как обычно, biased,
То-то и оно. ;(
> почти никто другой не удосужился побенчмаркать нормально свои либы
Потому что нафиг надо и так good enough (а если нет, то и ладно — есть задачи поважнее). ;)
Т.е. в тех местах, куда они встроены, они обычно не представляют и 0.001% функционала языка (или продукта).
> из него интересно на PCRE vs RE2 смотреть
Это я почитаю, спасибо!
>Бенчмарки с Tcl не видел, интересно поискать, это правда, но что-то я удивлюсь
А вот:
https://github.com/rust-lang/regex/blob/master/bench/log/05/tcl-vs-rust — и (к вопросу biased) я
уже удивился — по-моему, автор не смог нормально "завести" (адаптировать / скомпилировать) этот движок или взял его не оттуда (во-первых, фактический upstream сейчас в PostgreSQL; во-вторых, в Tcl он работает
только с utf-16, поэтому использование его на файлах "как есть" — автоматический performance hit как минимум в 2-3 раза).
> выяснить более эффективный, что бы это не значило
Ну это как-то несерьёзно, правда. ;)
> классификатор — это отдельная и очень широкая тема
Казалось бы, почему не просто "если это не умеет первый, используй второй" (как Вы и написали)?
> С тех пор он крайне активно разрабатывается и даже замахнулся на значительно более сложную область
Да, я заметил... но что это даёт на практике — другой вопрос. А n-грамные индексы — старая тема, на самом деле, просто в grep-ах до неё пока не очень-то дошли.
> Из использующих подобный подход с выбором движка по самому запросу я помню только ripgrep и Intel Chimera
Вот то-то и оно (Tcl всегда внутри таким был, но это исключение)... да и в vim-е нынче тоже два движка. :)