自由軟件正則表達式引擎的對比

webphp 13年前發布 | 14K 次閱讀 正則引擎

 正則引擎 sljit 的作者受到了 John Maddock 之前對各種正則表達式引擎性能的測評的影響,他把自己的正則引擎和其他一些流行的自由軟件正則引擎進行了性能對比,其中包括著名的 PCRE (著名的 IDS 項目 Snort 就是使用的這個引擎),專注于并行化的 tre 和 Google 在 2010 年發布的 re2。sljit 正則引擎不兼容 POSIX 和 PERL,而是在設計的各個方面跟隨了 Ken Thompson 的腳步,基于 DFA (確定有限狀態機)和 JIT 編譯來對模式匹配進行加速。從最終的測評結果來看:

- PCRE 對輸入的初始字符的表達式非常的快
- TREE 則使用了并行的匹配算法,在復雜的正則表達式上有優勢
- RE2 的性能超乎想象的高,而且只使用了0.5MB 的內存作為空間換時間的開銷
- SLJIT 的速度也不錯,而且沒有任何空間換時間的開銷(這是因為目前還沒有實現狀態捕捉)。

來自: Solidot

 本文由用戶 webphp 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!