On Mon, Jul 8, 2024 at 11:24 AM Lanre <lnearw...@gmail.com> wrote: > > On Fri, Jun 28, 2024 at 3:38 PM Máté Kocsis <kocsismat...@gmail.com> > wrote: > >> Hi Everyone, >> >> I've been working on a new RFC for a while now, and time has come to >> present it to a wider audience. >> >> Last year, I learnt that PHP doesn't have built-in support for parsing >> URLs according to any well established standards (RFC 1738 or the WHATWG >> URL living standard), since the parse_url() function is optimized for >> performance instead of correctness. >> >> In order to improve compatibility with external tools consuming URLs >> (like browsers), my new RFC would add a WHATWG compliant URL parser >> functionality to the standard library. The API itself is not final by any >> means, the RFC only represents how I imagined it first. >> >> You can find the RFC at the following link: >> https://wiki.php.net/rfc/url_parsing_api >> >> Regards, >> Máté >> >> > I was exploring wrapping ada_url for PHP ( > https://github.com/lnear-dev/ada-url). It works, but it's a bit slower, > likely due to the implementation of the objects. I was planning to embed > the zvals directly in the object, similar to PhpToken, but I haven't had > the chance and don't really need it anymore. Shouldn't be too much work to > clean it up though >
I’ve updated the implementation, and with Ada 2.9.0, the performance is now closer to `parse_url` for short URLs and even outperforms it for longer URLs. You can see the benchmarks in the "Run benchmark script" section of [this GitHub Actions run]( https://github.com/lnear-dev/ada-url/actions/runs/9982725628/job/27589011554 ). cheers, Lanre