The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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 2015 Chromebook Pixel running Gallium linux using 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       122249/s             --           -86%
        URI::Fast       877193/s           618%             --

Parse scheme

                            Rate            URI      URI::Fast
              URI        93633/s             --           -84%
        URI::Fast       602410/s           543%             --

Update scheme

                            Rate            URI      URI::Fast
              URI        52632/s             --           -93%
        URI::Fast       714286/s          1257%             --

Parse authorization

                            Rate            URI      URI::Fast
              URI        72993/s             --           -91%
        URI::Fast       769231/s           954%             --

Update authorization

                            Rate            URI      URI::Fast
              URI        36657/s             --           -93%
        URI::Fast       505051/s          1278%             --

Parse path (scalar)

                            Rate            URI      URI::Fast
              URI        94877/s             --           -79%
        URI::Fast       442478/s           366%             --

Parse path (list)

                            Rate            URI      URI::Fast
              URI        71429/s             --           -80%
        URI::Fast       362319/s           407%             --

Update path (scalar)

                            Rate            URI      URI::Fast
              URI        80906/s             --           -87%
        URI::Fast       602410/s           645%             --

Update path (array)

                            Rate            URI      URI::Fast
              URI        90416/s             --           -79%
        URI::Fast       427350/s           373%             --

Parse query

                            Rate            URI      URI::Fast
              URI        48828/s             --           -88%
        URI::Fast       396825/s           713%             --

Set query parameter

                            Rate            URI      URI::Fast
              URI        63694/s             --           -85%
        URI::Fast       431034/s           577%             --

Query form

                            Rate            URI      URI::Fast
              URI        50454/s             --           -85%
        URI::Fast       333333/s           561%             --

Query keys

                            Rate            URI      URI::Fast
              URI        50607/s             --           -85%
        URI::Fast       337838/s           568%             --

Stringification

                            Rate            URI      URI::Fast
              URI       114943/s             --           -65%
        URI::Fast       331126/s           188%             --

uri_split

                            Rate     URI::Split      URI::Fast
       URI::Split       549451/s             --           -55%
        URI::Fast      1219512/s           122%             --

Encode

                            Rate      URI::FastURI::Encode::XS
        URI::Fast      1351351/s             --           -15%
  URI::Encode::XS      1587302/s            17%             --

Decode

                            Rate      URI::FastURI::Encode::XS
        URI::Fast       751880/s             --           -24%
  URI::Encode::XS       985222/s            31%             --

IRI - ctor

                            Rate            IRI      URI::Fast
              IRI        17718/s             --           -99%
        URI::Fast      1219512/s          6783%             --

IRI - query_hash

                            Rate            IRI      URI::Fast
              IRI        13947/s             --           -98%
        URI::Fast       625000/s          4381%             --

IRI - set param

                            Rate            IRI      URI::Fast
              IRI        14269/s             --           -97%
        URI::Fast       561798/s          3837%             --

IRI - update path

                            Rate            IRI      URI::Fast
              IRI        15309/s             --           -98%
        URI::Fast       735294/s          4703%             --