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

=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        96246/s             --           -88%
        URI::Fast       819672/s           752%             --

=head2 Parse scheme

                            Rate            URI      URI::Fast
              URI        83612/s             --           -88%
        URI::Fast       724638/s           767%             --

=head2 Update scheme

                            Rate            URI      URI::Fast
              URI        52301/s             --           -92%
        URI::Fast       684932/s          1210%             --

=head2 Parse authorization

                            Rate            URI      URI::Fast
              URI        65062/s             --           -91%
        URI::Fast       719424/s          1006%             --

=head2 Update authorization

                            Rate            URI      URI::Fast
              URI        40552/s             --           -93%
        URI::Fast       606061/s          1395%             --

=head2 Parse path (scalar)

                            Rate            URI      URI::Fast
              URI        80257/s             --           -82%
        URI::Fast       456621/s           469%             --

=head2 Parse path (list)

                            Rate            URI      URI::Fast
              URI        54975/s             --           -82%
        URI::Fast       305810/s           456%             --

=head2 Update path (scalar)

                            Rate            URI      URI::Fast
              URI        67431/s             --           -88%
        URI::Fast       571429/s           747%             --

=head2 Update path (array)

                            Rate            URI      URI::Fast
              URI        64641/s             --           -85%
        URI::Fast       427350/s           561%             --

=head2 Parse query

                            Rate            URI      URI::Fast
              URI        37523/s             --           -89%
        URI::Fast       338983/s           803%             --

=head2 Set query parameter

                            Rate            URI      URI::Fast
              URI        50176/s             --           -88%
        URI::Fast       429185/s           755%             --

=head2 Query form

                            Rate            URI      URI::Fast
              URI        36088/s             --           -87%
        URI::Fast       268097/s           643%             --

=head2 Query keys

                            Rate            URI      URI::Fast
              URI        37979/s             --           -87%
        URI::Fast       282486/s           644%             --

=head2 Stringification

                            Rate            URI      URI::Fast
              URI        91996/s             --           -65%
        URI::Fast       265957/s           189%             --

=head2 uri_split

                            Rate     URI::Split      URI::Fast
       URI::Split       336700/s             --           -44%
        URI::Fast       602410/s            79%             --

=head2 Encode

                            RateURI::Encode::XS      URI::Fast
  URI::Encode::XS       706714/s             --           -64%
        URI::Fast      1980198/s           180%             --

=head2 Decode

                            RateURI::Encode::XS      URI::Fast
  URI::Encode::XS       970874/s             --            -7%
        URI::Fast      1041667/s             7%             --

=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
