31-го марта и 17-го апреля состоялись выпуски 2.0.0 и 2.1.0 быстрой библиотеки парсинга URL для языка C++ (стандарт C++17).
По утверждению одного из авторов, Ada является самым производительным парсером URL (из сравниваемых альтернатив):
- на 50% быстрее Boost;
- в 3 раза быстрее Servo;
- в 6 раз быстрее cURL.
Проект примечателен тем, что используется в Node.js, начиная с версии 19.7.0. Это значительно увеличило производительность разбора URL в Node.js:
- на 82% быстрее Bun;
- в 3 раза быстрее Deno.
Список изменений:
- удалена зависимость от библиотеки ICU; для чего была разработана вспомогательная библиотека
idna
, реализующая функцииto_ascii
иto_unicode
; - в дополнение к структуре
ada::url
, и для уменьшения используемой памяти, была добавлена структураada::url_aggregator
; - оптимизирована обработка доменов;
- оптимизированы функции
parse(...)
; - обновлены тесты.
Проекты ada-url и лицензии:
- https://github.com/ada-url/ada - Apache/MIT;
- https://github.com/ada-url/idna - Apache/MIT, за исключением нескольких функций из библиотеки UniLib (MPL 2.0).
Блоги авторов:
- https://www.yagiz.co - Yagiz Nizipli, один из основных разработчиков Node.js;
- https://lemire.me/blog - Daniel Lemire, известный по работе над проектами simdjson, simdutf, fast_float и многими другими.
>>> Подробности