# 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.20

=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       102459/s             --           -87%
        URI::Fast       806452/s           687%             --

=head2 Parse scheme

                            Rate            URI      URI::Fast
              URI        82919/s             --           -88%
        URI::Fast       704225/s           749%             --

=head2 Update scheme

                            Rate            URI      URI::Fast
              URI        51440/s             --           -93%
        URI::Fast       694444/s          1250%             --

=head2 Parse authorization

                            Rate            URI      URI::Fast
              URI        68213/s             --           -90%
        URI::Fast       704225/s           932%             --

=head2 Update authorization

                            Rate            URI      URI::Fast
              URI        41563/s             --           -93%
        URI::Fast       602410/s          1349%             --

=head2 Parse path (scalar)

                            Rate            URI      URI::Fast
              URI        84459/s             --           -83%
        URI::Fast       485437/s           475%             --

=head2 Parse path (list)

                            Rate            URI      URI::Fast
              URI        55928/s             --           -81%
        URI::Fast       299401/s           435%             --

=head2 Update path (scalar)

                            Rate            URI      URI::Fast
              URI        66489/s             --           -88%
        URI::Fast       537634/s           709%             --

=head2 Update path (array)

                            Rate            URI      URI::Fast
              URI        60827/s             --           -84%
        URI::Fast       387597/s           537%             --

=head2 Parse query

                            Rate            URI      URI::Fast
              URI        36873/s             --           -89%
        URI::Fast       344828/s           835%             --

=head2 Set query parameter

                            Rate            URI      URI::Fast
              URI        49116/s             --           -88%
        URI::Fast       396825/s           708%             --

=head2 Query form

                            Rate            URI      URI::Fast
              URI        33400/s             --           -87%
        URI::Fast       263158/s           688%             --

=head2 Query keys

                            Rate            URI      URI::Fast
              URI        37369/s             --           -88%
        URI::Fast       299401/s           701%             --

=head2 Stringification

                            Rate            URI      URI::Fast
              URI        93110/s             --           -65%
        URI::Fast       264550/s           184%             --

=head2 uri_split

                            Rate     URI::Split      URI::Fast
       URI::Split       322581/s             --           -44%
        URI::Fast       574713/s            78%             --

=head2 Encode

                            RateURI::Encode::XS      URI::Fast
  URI::Encode::XS       680272/s             --           -56%
        URI::Fast      1550388/s           128%             --

=head2 Decode

                            Rate      URI::FastURI::Encode::XS
        URI::Fast       900901/s             --            -5%
  URI::Encode::XS       943396/s             5%             --

=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
