# PODNAME: URI::Fast::Benchmarks
# ABSTRACT: Benchmarks comparing URI::Fast and URI

__END__

=pod

=encoding UTF-8

=head1 NAME

URI::Fast::Benchmarks - Benchmarks comparing URI::Fast and URI

=head1 VERSION

version 0.08

=head1 BENCHMARKS

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

Tests were performed on my development machine, a 2015 MacBook Pro (2.7 GHz
Intel Core i5, 8GB 1867 MHz DDR3 RAM) using Perl 5.24 installed using
L<perlbrew|https://perlbrew.pl>.

=head2 Constructor

                            Rate            URI      URI::Fast
              URI       100604/s             --           -88%
        URI::Fast       819672/s           715%             --

=head2 Parse scheme

                            Rate            URI      URI::Fast
              URI        86356/s             --           -88%
        URI::Fast       714286/s           727%             --

=head2 Update scheme

                            Rate            URI      URI::Fast
              URI        53135/s             --           -92%
        URI::Fast       704225/s          1225%             --

=head2 Parse authorization

                            Rate            URI      URI::Fast
              URI        69156/s             --           -91%
        URI::Fast       735294/s           963%             --

=head2 Update authorization

                            Rate            URI      URI::Fast
              URI        44131/s             --           -92%
        URI::Fast       588235/s          1233%             --

=head2 Parse path (scalar)

                            Rate            URI      URI::Fast
              URI        84602/s             --           -83%
        URI::Fast       495050/s           485%             --

=head2 Parse path (list)

                            Rate            URI      URI::Fast
              URI        61728/s             --           -80%
        URI::Fast       306748/s           397%             --

=head2 Update path (scalar)

                            Rate            URI      URI::Fast
              URI        71023/s             --           -88%
        URI::Fast       588235/s           728%             --

=head2 Update path (array)

                            Rate            URI      URI::Fast
              URI        69930/s             --           -84%
        URI::Fast       442478/s           533%             --

=head2 Parse query

                            Rate            URI      URI::Fast
              URI        39002/s             --           -89%
        URI::Fast       354610/s           809%             --

=head2 Set query parameter

                            Rate            URI      URI::Fast
              URI        50813/s             --           -88%
        URI::Fast       409836/s           707%             --

=head2 Query form

                            Rate            URI      URI::Fast
              URI        39154/s             --           -86%
        URI::Fast       273224/s           598%             --

=head2 Query keys

                            Rate            URI      URI::Fast
              URI        40128/s             --           -87%
        URI::Fast       306748/s           664%             --

=head2 Stringification

                            Rate            URI      URI::Fast
              URI        93633/s             --           -75%
        URI::Fast       373134/s           299%             --

=head2 uri_split

                            Rate     URI::Split      URI::Fast
       URI::Split       340136/s             --           -45%
        URI::Fast       617284/s            81%             --

=head2 Encode

                            RateURI::Encode::XS      URI::Fast
  URI::Encode::XS       766284/s             --           -62%
        URI::Fast      2000000/s           161%             --

=head2 Decode

                            RateURI::Encode::XS      URI::Fast
  URI::Encode::XS      1005025/s             --            -7%
        URI::Fast      1081081/s             8%             --

=head1 AUTHOR

Jeff Ober <sysread@fastmail.fm>

=head1 COPYRIGHT AND LICENSE

This software is copyright (c) 2018 by Jeff Ober.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.

=cut
