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

=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       103306/s             --           -88%
        URI::Fast       847458/s           720%             --

=head2 Parse scheme

                            Rate            URI      URI::Fast
              URI        80645/s             --           -87%
        URI::Fast       641026/s           695%             --

=head2 Update scheme

                            Rate            URI      URI::Fast
              URI        51975/s             --           -92%
        URI::Fast       675676/s          1200%             --

=head2 Parse authorization

                            Rate            URI      URI::Fast
              URI        68871/s             --           -90%
        URI::Fast       684932/s           895%             --

=head2 Update authorization

                            Rate            URI      URI::Fast
              URI        44803/s             --           -93%
        URI::Fast       602410/s          1245%             --

=head2 Parse path (scalar)

                            Rate            URI      URI::Fast
              URI        83333/s             --           -83%
        URI::Fast       485437/s           483%             --

=head2 Parse path (list)

                            Rate            URI      URI::Fast
              URI        59453/s             --           -80%
        URI::Fast       303030/s           410%             --

=head2 Update path (scalar)

                            Rate            URI      URI::Fast
              URI        70522/s             --           -87%
        URI::Fast       561798/s           697%             --

=head2 Update path (array)

                            Rate            URI      URI::Fast
              URI        69930/s             --           -84%
        URI::Fast       450450/s           544%             --

=head2 Parse query

                            Rate            URI      URI::Fast
              URI        39370/s             --           -90%
        URI::Fast       375940/s           855%             --

=head2 Set query parameter

                            Rate            URI      URI::Fast
              URI        52356/s             --           -88%
        URI::Fast       431034/s           723%             --

=head2 Query form

                            Rate            URI      URI::Fast
              URI        39463/s             --           -86%
        URI::Fast       282486/s           616%             --

=head2 Query keys

                            Rate            URI      URI::Fast
              URI        41494/s             --           -87%
        URI::Fast       310559/s           648%             --

=head2 Stringification

                            Rate            URI      URI::Fast
              URI        96339/s             --           -68%
        URI::Fast       297619/s           209%             --

=head2 uri_split

                            Rate     URI::Split      URI::Fast
       URI::Split       340136/s             --           -46%
        URI::Fast       625000/s            84%             --

=head2 Encode

                            RateURI::Encode::XS      URI::Fast
  URI::Encode::XS       724638/s             --           -59%
        URI::Fast      1754386/s           142%             --

=head2 Decode

                            Rate      URI::FastURI::Encode::XS
        URI::Fast       816327/s             --           -17%
  URI::Encode::XS       985222/s            21%             --

=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
