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__