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

=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 uri_split

                            Rate     URI::Split      URI::Fast
       URI::Split       298507/s             --           -60%
        URI::Fast       740741/s           148%             --

=head2 Constructor

                            Rate            URI      URI::Fast
              URI       124378/s             --           -76%
        URI::Fast       510204/s           310%             --

=head2 Parse scheme

                            Rate            URI      URI::Fast
              URI        75758/s             --           -79%
        URI::Fast       357143/s           371%             --

=head2 Update scheme

                            Rate            URI      URI::Fast
              URI        51151/s             --           -80%
        URI::Fast       256410/s           401%             --

=head2 Parse authorization

                            Rate            URI      URI::Fast
              URI        66445/s             --           -60%
        URI::Fast       165289/s           149%             --

=head2 Update authorization

                            Rate            URI      URI::Fast
              URI        41237/s             --           -63%
        URI::Fast       111111/s           169%             --

=head2 Parse path

                            Rate          URI/@          URI/$
            URI/@        59172/s             --           -19%
            URI/$        73260/s            24%             --
      URI::Fast/@       227273/s           284%           210%
      URI::Fast/$       363636/s           515%           396%

=head2 Update path

                            Rate            URI    URI::Fast/@
              URI        67797/s             --           -76%
      URI::Fast/@       285714/s           321%             --
      URI::Fast/$       322581/s           376%            13%

=head2 Parse query

                            Rate            URI      URI::Fast
              URI        77821/s             --           -56%
        URI::Fast       178571/s           129%             --

=head2 Set query parameter

                            Rate            URI      URI::Fast
              URI        51282/s             --           -64%
        URI::Fast       140845/s           175%             --

=head2 Stringification

                            Rate            URI      URI::Fast
              URI        91743/s             --           -67%
        URI::Fast       277778/s           203%             --

=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
