regex 코드 c언어나 llvm중간언어로 하드코딩하고, llvm-jit로 빌드하고, 바이너리 통채로 메모리에 때려박아 실행시키는거
백엔드 pattern-maching시간 타협좀 보면 .net regex이길수도 있다고 생각하는데
어떻게 생각하시나여?
https://referencesource.microsoft.com/#System/regex/system/text/regularexpressions/RegexCompiler.cs
보면 알겠지만 RegexCompiler가 이짓거리를 하고있음 ;;
뭐하러 그렇게 하냐 그냥 오토마타 짜고 말지 - return 0;
re2만 봐도 .net을 못따라옴;; 저런거 하나 만들면 몇 년을 써먹을듯. 디스크 R/W속도가 빨라지면 grep같은 색인에선 regex가 생명인데, 닷넷같은 built-in알고리즘하고, FPGA에서 시뮬레이션하는거마냥 만든 std::regex하곤 차이가 많이 나지않을까요 ;;? 메모리만 많으면 O(n)도 가능할텐데