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

=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        91996/s             --           -89%
        URI::Fast       819672/s           791%             --

=head2 Parse scheme

                            Rate            URI      URI::Fast
              URI        78802/s             --           -89%
        URI::Fast       714286/s           806%             --

=head2 Update scheme

                            Rate            URI      URI::Fast
              URI        47893/s             --           -93%
        URI::Fast       684932/s          1330%             --

=head2 Parse authorization

                            Rate            URI      URI::Fast
              URI        65833/s             --           -91%
        URI::Fast       709220/s           977%             --

=head2 Update authorization

                            Rate            URI      URI::Fast
              URI        41271/s             --           -93%
        URI::Fast       606061/s          1368%             --

=head2 Parse path (scalar)

                            Rate            URI      URI::Fast
              URI        81433/s             --           -84%
        URI::Fast       497512/s           511%             --

=head2 Parse path (list)

                            Rate            URI      URI::Fast
              URI        57013/s             --           -81%
        URI::Fast       299401/s           425%             --

=head2 Update path (scalar)

                            Rate            URI      URI::Fast
              URI        66979/s             --           -88%
        URI::Fast       564972/s           744%             --

=head2 Update path (array)

                            Rate            URI      URI::Fast
              URI        65189/s             --           -85%
        URI::Fast       429185/s           558%             --

=head2 Parse query

                            Rate            URI      URI::Fast
              URI        37272/s             --           -90%
        URI::Fast       357143/s           858%             --

=head2 Set query parameter

                            Rate            URI      URI::Fast
              URI        50916/s             --           -89%
        URI::Fast       448430/s           781%             --

=head2 Query form

                            Rate            URI      URI::Fast
              URI        37750/s             --           -87%
        URI::Fast       280112/s           642%             --

=head2 Query keys

                            Rate            URI      URI::Fast
              URI        38805/s             --           -87%
        URI::Fast       306748/s           690%             --

=head2 Stringification

                            Rate            URI      URI::Fast
              URI        90009/s             --           -66%
        URI::Fast       266667/s           196%             --

=head2 uri_split

                            Rate     URI::Split      URI::Fast
       URI::Split       308642/s             --           -39%
        URI::Fast       502513/s            63%             --

=head2 Encode

                            RateURI::Encode::XS      URI::Fast
  URI::Encode::XS       746269/s             --           -63%
        URI::Fast      2040816/s           173%             --

=head2 Decode

                            RateURI::Encode::XS      URI::Fast
  URI::Encode::XS       995025/s             --            -3%
        URI::Fast      1025641/s             3%             --

=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
