추가적인 비백트래킹 정규 표현식 엔진
· 약 7분
v8.8부터 V8은 새로운 실험적 비백트래킹 정규 표현식 엔진(기존의 Irregexp 엔진 외에)을 갖추고 있으며, 이는 주제 문자열 크기에 따른 실행을 선형 시간으로 보장합니다. 실험적 엔진은 아래에 언급된 기능 플래그를 통해 사용할 수 있습니다.
v8.8부터 V8은 새로운 실험적 비백트래킹 정규 표현식 엔진(기존의 Irregexp 엔진 외에)을 갖추고 있으며, 이는 주제 문자열 크기에 따른 실행을 선형 시간으로 보장합니다. 실험적 엔진은 아래에 언급된 기능 플래그를 통해 사용할 수 있습니다.
기본 설정에서 V8은 정규 표현식을 처음 실행할 때 네이티브 코드로 컴파일합니다. JIT-less V8 작업의 일부로 우리는 정규 표현식을 위한 인터프리터를 도입했습니다. 정규 표현식을 해석하면 더 적은 메모리를 사용하는 장점이 있지만, 성능 상의 단점도 동반됩니다. 이 블로그 게시물에서는 정규 표현식을 해석하는 장점을 활용하고 단점을 완화하는 방법을 설명합니다.
이 블로그 게시물은 TurboFan 기반의 새로운 코드 생성 아키텍처를 통해 정규 표현식의 내장 기능을 셀프 호스팅 JavaScript 구현에서 이전한 V8의 최근 변화를 다룹니다.
ECMA-262 사양의 세 번째 버전과 함께 도입된 정규 표현식은 1999년부터 JavaScript의 일부였습니다. 기능과 표현력에서 JavaScript의 정규 표현식 구현은 다른 프로그래밍 언어와 대략 비슷한 수준을 보입니다.