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

=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        90744/s             --           -89%
        URI::Fast       826446/s           811%             --

=head2 Parse scheme

                            Rate            URI      URI::Fast
              URI        83822/s             --           -88%
        URI::Fast       675676/s           706%             --

=head2 Update scheme

                            Rate            URI      URI::Fast
              URI        50710/s             --           -93%
        URI::Fast       684932/s          1251%             --

=head2 Parse authorization

                            Rate            URI      URI::Fast
              URI        67069/s             --           -91%
        URI::Fast       719424/s           973%             --

=head2 Update authorization

                            Rate            URI      URI::Fast
              URI        44248/s             --           -92%
        URI::Fast       581395/s          1214%             --

=head2 Parse path (scalar)

                            Rate            URI      URI::Fast
              URI        83195/s             --           -83%
        URI::Fast       497512/s           498%             --

=head2 Parse path (list)

                            Rate            URI      URI::Fast
              URI        59701/s             --           -81%
        URI::Fast       314465/s           427%             --

=head2 Update path (scalar)

                            Rate            URI      URI::Fast
              URI        67340/s             --           -88%
        URI::Fast       564972/s           739%             --

=head2 Update path (array)

                            Rate            URI      URI::Fast
              URI        67385/s             --           -84%
        URI::Fast       413223/s           513%             --

=head2 Parse query

                            Rate            URI      URI::Fast
              URI        37133/s             --           -90%
        URI::Fast       357143/s           862%             --

=head2 Set query parameter

                            Rate            URI      URI::Fast
              URI        50251/s             --           -88%
        URI::Fast       432900/s           761%             --

=head2 Query form

                            Rate            URI      URI::Fast
              URI        36914/s             --           -86%
        URI::Fast       268817/s           628%             --

=head2 Query keys

                            Rate            URI      URI::Fast
              URI        37693/s             --           -87%
        URI::Fast       299401/s           694%             --

=head2 Stringification

                            Rate            URI      URI::Fast
              URI        88496/s             --           -75%
        URI::Fast       349650/s           295%             --

=head2 uri_split

                            Rate     URI::Split      URI::Fast
       URI::Split       334448/s             --           -44%
        URI::Fast       595238/s            78%             --

=head2 Encode

                            RateURI::Encode::XS      URI::Fast
  URI::Encode::XS       722022/s             --           -66%
        URI::Fast      2150538/s           198%             --

=head2 Decode

                            RateURI::Encode::XS      URI::Fast
  URI::Encode::XS       975610/s             --            -6%
        URI::Fast      1036269/s             6%             --

=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
