Parsing millions of URLs per second
Yagiz Nizipli, Daniel Lemire A · Software Practice and Experience · 2023
Abstract URLs are fundamental elements of web applications. By applying vector algorithms, we built a fast standard‐compliant C++ implementation. Our parser uses three times fewer instructions than competing parsers following the WHATWG standard (e.g., Servo's rust‐url) and up to eight times fewer instructions than the popular curl parser. The Node.js environment adopted our C++ library. In our tests on realistic data, a recent Node.js version (20.0) with our parser is four to five times faster than the last version with the legacy URL parser.