NAME

URI::XSEscape - Fast XS URI-escaping library, replacing URI::Escape.

VERSION

Version 0.000005

SYNOPSIS

# load once
use URI::XSEscape;

# keep using URI::Escape as you wish

DESCRIPTION

By loading URI::XSEscape anywhere, you replace any usage of URI::Escape with a fast C implementation.

You can continue to use URI::Escape and any other module that depends on it just like you did before. It's just faster now.

METHODS/ATTRIBUTES

These match the API described in URI::Escape.

Please see those modules for documentation on what these methods and attributes are.

uri_escape

uri_escape_utf8

uri_unescape

BENCHMARKS

For the common case, which is calling uri_escape with a single argument, and calling uri_unescape, URI::XSEscape runs between 25 and 34 times faster than URI::Escape. The other cases are also faster, but the difference is not that noticeable.

$ perl -Iblib/lib -Iblib/arch tools/bench.pl
URI::Escape 3.31 / URI::Escape::XS 0.13 / URI::XSEscape 0.000004
-- uri_escape
                    Rate     URI::Escape URI::Escape::XS   URI::XSEscape
URI::Escape       50839/s              --            -95%            -97%
URI::Escape::XS  961538/s           1791%              --            -47%
URI::XSEscape   1818182/s           3476%             89%              --

-- uri_escape_in
                    Rate     URI::Escape URI::Escape::XS   URI::XSEscape
URI::Escape     107991/s              --            -16%            -83%
URI::Escape::XS 129032/s             19%              --            -80%
URI::XSEscape   641026/s            494%            397%              --

-- uri_escape_not_in
                Rate   URI::XSEscape     URI::Escape URI::Escape::XS
URI::XSEscape   39968/s              --            -11%            -37%
URI::Escape     45147/s             13%              --            -29%
URI::Escape::XS 63939/s             60%             42%              --

-- uri_escape_utf8
                Rate   URI::Escape URI::XSEscape
URI::Escape     40519/s            --          -96%
URI::XSEscape 1098901/s         2612%            --

-- uri_unescape
                    Rate     URI::Escape URI::XS::Escape   URI::XSEscape
URI::Escape       74019/s              --            -93%            -96%
URI::XS::Escape 1086957/s           1368%              --            -43%
URI::XSEscape   1923077/s           2498%             77%              --

AUTHORS

  • Gonzalo Diethelm gonzus AT cpan DOT org

THANKS

  • Brian Fraser

  • Sawyer X xsawyerx AT cpan DOT org

  • p5pclub

__END__