엔진 2

라이브러리로서의 정규식 엔진 내부

정규식 상자는 상황에 따라 내부적으로 여러 전략을 사용하는 공개 인터페이스를 노출하므로 테스트가 어렵습니다. 크레이트의 내부를 더 많이 노출하면 이 문제에 대한 솔루션을 더 쉽게 실험할 수 있습니다. 새로운 NFA 컴파일러는 역축소 및 동등성 클래스를 사용하여 기존의 톰슨 알고리즘에 비해 더욱 최적화된 NFA 상태 머신을 생성합니다. 정규식 엔진을 구현하는 많은 기술이 있지만, 벡터 명령어를 사용하는 최적화된 부분 문자열 검색 구현만큼 일관되게 빠를 수 있는 기술은 없습니다. 지연 DFA의 최악의 경우 검색 시간은 O(m*n)이며, 최악의 경우 공간 사용량은 구축 시 설정된 고정 용량입니다. 정규식 엔진 노브를 제어하거나 다중 패턴 일치를 수행하려는 경우 메타 정규식 엔진이 좋은 선택입니다.원문: htt..

Hacker News 2023.07.06

Servo는 레이아웃 엔진을 "레이아웃 2020"으로 이전할 계획입니다.

이 문서에서는 레이아웃 2013과 레이아웃 2020으로 알려진 Servo의 두 가지 독립적인 레이아웃 엔진에 대해 설명합니다. 레이아웃 2020은 레이아웃 2013의 몇 가지 단점을 수정하기 위해 설계되었지만 아직 기본적으로 활성화되어 있지 않습니다. 이 문서에서는 두 레이아웃 엔진을 분석하여 병렬성에 대한 접근 방식, 상자 및 조각 트리 관리 방식, WebRender와의 관계, CSS 기능 구현의 완성도 등에서 차이점을 발견했습니다. 이 문서는 레이아웃 2020이 앞으로 Servo에 가장 적합한 레이아웃 엔진이라는 결론을 내렸습니다. 팀은 레이아웃 2020에서 작은 기능들을 구현하기 시작했으며, 조만간 CI에서 레이아웃 2020과 레이아웃 2013을 빌드하고 테스트할 예정입니다. 팀은 당분간 Layou..

Hacker News 2023.04.14