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

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

=head2 Parse scheme

                            Rate            URI      URI::Fast
              URI        84034/s             --           -88%
        URI::Fast       704225/s           738%             --

=head2 Update scheme

                            Rate            URI      URI::Fast
              URI        54765/s             --           -92%
        URI::Fast       675676/s          1134%             --

=head2 Parse authorization

                            Rate            URI      URI::Fast
              URI        68306/s             --           -90%
        URI::Fast       714286/s           946%             --

=head2 Update authorization

                            Rate            URI      URI::Fast
              URI        43821/s             --           -93%
        URI::Fast       617284/s          1309%             --

=head2 Parse path (scalar)

                            Rate            URI      URI::Fast
              URI        83056/s             --           -84%
        URI::Fast       526316/s           534%             --

=head2 Parse path (list)

                            Rate            URI      URI::Fast
              URI        61425/s             --           -80%
        URI::Fast       314465/s           412%             --

=head2 Update path (scalar)

                            Rate            URI      URI::Fast
              URI        69930/s             --           -87%
        URI::Fast       555556/s           694%             --

=head2 Update path (array)

                            Rate            URI      URI::Fast
              URI        69061/s             --           -84%
        URI::Fast       442478/s           541%             --

=head2 Parse query

                            Rate            URI      URI::Fast
              URI        37793/s             --           -90%
        URI::Fast       364964/s           866%             --

=head2 Set query parameter

                            Rate            URI      URI::Fast
              URI        47348/s             --           -88%
        URI::Fast       400000/s           745%             --

=head2 Query form

                            Rate            URI      URI::Fast
              URI        35689/s             --           -86%
        URI::Fast       261780/s           634%             --

=head2 Query keys

                            Rate            URI      URI::Fast
              URI        35537/s             --           -87%
        URI::Fast       277778/s           682%             --

=head2 Stringification

                            Rate            URI      URI::Fast
              URI        84034/s             --           -67%
        URI::Fast       257732/s           207%             --

=head2 uri_split

                            Rate     URI::Split      URI::Fast
       URI::Split       294118/s             --           -50%
        URI::Fast       588235/s           100%             --

=head2 Encode

                            RateURI::Encode::XS      URI::Fast
  URI::Encode::XS       709220/s             --           -57%
        URI::Fast      1666667/s           135%             --

=head2 Decode

                            Rate      URI::FastURI::Encode::XS
        URI::Fast       722022/s             --           -23%
  URI::Encode::XS       943396/s            31%             --

=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
