urlgen: https://gist.github.com/bagder/50ca185c73a9d4d38a1d21271f7f2d59
I made 100000 URLs with it:
./urlgen.pl 100000 > URLs
speedparse.c: https://gist.github.com/bagder/f61dd7a9a0f568851b94fb8f75cdd26c
Built to use the default Debian libcurl. (8.4.0)
gcc -O3 speedparse.c -lcurl
./a.out Loaded 100002 URLs from URLs 10000200 URLs in 6.85853 secs, 685.8 ns/URL, 1458067.332 URLs/sec
speedada.c: https://gist.github.com/bagder/8efdcaf1244970887ba84bcf734637ba
curl -LO https://github.com/ada-url/ada/releases/download/v2.7.3/ada.cpp
curl -LO https://github.com/ada-url/ada/releases/download/v2.7.3/ada.h
g++ -O3 speedada.c
./a.out Loaded 100002 URLs from URLs 10000200 URLs in 5.43938 secs, 543.9 ns/URL, 1838482.606 URLs/sec
Without verifying the results of any of the parsers, Ada is 6.85853/5.43938 = 1.2609 times faster