BENCHMARKS

Various operations comparing URI::Fast against URI's performance. The script to recreate is included in the bench folder of the distribution.

Tests were performed on a Pixelbook (i5) and Perl 5.26 installed with perlbrew. Earlier testing was done with a similarly equipped MacBook Pro. It is interesting to note that URI::Fast's rate is roughly the same, but URI's rate increased significantly over Perl compiled for MacOS.

Constructor

                    Rate            URI      URI::Fast
      URI       137741/s             --           -88%
URI::Fast      1111111/s           707%             --

Parse scheme

                    Rate            URI      URI::Fast
      URI       100604/s             --           -89%
URI::Fast       925926/s           820%             --

Update scheme

                    Rate            URI      URI::Fast
      URI        70126/s             --           -92%
URI::Fast       833333/s          1088%             --

Parse authorization

                    Rate            URI      URI::Fast
      URI        59453/s             --           -92%
URI::Fast       714286/s          1101%             --

Update authorization

                    Rate            URI      URI::Fast
      URI        41425/s             --           -93%
URI::Fast       602410/s          1354%             --

Parse path (scalar)

                    Rate            URI      URI::Fast
      URI        94518/s             --           -83%
URI::Fast       543478/s           475%             --

Parse path (list)

                    Rate            URI      URI::Fast
      URI        80515/s             --           -82%
URI::Fast       454545/s           465%             --

Update path (scalar)

                    Rate            URI      URI::Fast
      URI        86957/s             --           -87%
URI::Fast       666667/s           667%             --

Update path (array)

                    Rate            URI      URI::Fast
      URI        85034/s             --           -82%
URI::Fast       485437/s           471%             --

Parse query

                    Rate            URI      URI::Fast
      URI        50352/s             --           -87%
URI::Fast       396825/s           688%             --

Set query parameter

                    Rate            URI      URI::Fast
      URI        61805/s             --           -86%
URI::Fast       427350/s           591%             --

Query form

                    Rate            URI      URI::Fast
      URI        50100/s             --           -84%
URI::Fast       316456/s           532%             --

Query keys

                    Rate            URI      URI::Fast
      URI        49850/s             --           -86%
URI::Fast       352113/s           606%             --

Stringification

                    Rate            URI      URI::Fast
      URI       107066/s             --           -71%
URI::Fast       364964/s           241%             --

uri_split

                     Rate     URI::Split      URI::Fast
URI::Split       512821/s             --           -60%
 URI::Fast      1282051/s           150%             --

Encode

                          Rate    URI::Escape    URL::Encode
    URI::Escape         5214/s             --           -25%
    URL::Encode         6979/s            34%             --
      URI::Fast      1176471/s         22464%         16756%
URI::Encode::XS      1492537/s         28525%         21285%

Decode

                          Rate    URI::Escape    URL::Encode
    URI::Escape         5893/s             --            -1%
    URL::Encode         5931/s             1%             --
      URI::Fast       793651/s         13367%         13281%
URI::Encode::XS       934579/s         15758%         15657%

IRI - ctor

                    Rate            IRI      URI::Fast
      IRI        16584/s             --           -98%
URI::Fast       961538/s          5698%             --

IRI - query_hash

                    Rate            IRI      URI::Fast
      IRI        13277/s             --           -97%
URI::Fast       480769/s          3521%             --

IRI - set param

                    Rate            IRI      URI::Fast
      IRI        13189/s             --           -97%
URI::Fast       442478/s          3255%             --

IRI - update path

                    Rate            IRI      URI::Fast
      IRI        14021/s             --           -98%
URI::Fast       649351/s          4531%             --