NAME
URI::Encode::XS - a Perl URI encoder/decoder using C
SYNOPSIS
use URI::Encode::XS qw/uri_encode uri_decode/;
my $encoded = uri_encode($data);
my $decoded = uri_decode($encoded);
DESCRIPTION
This is a Perl module that wraps my C URI encoder/decoder based on RFC3986. This module always encodes characters that are not unreserved.
I've benchmarked it and found it significantly faster than URI::Escape at encoding and decoding:
Rate escape encode
escape 142861/s -- -96%
encode 3685811/s 2480% --
Rate unescape decode
unescape 197481/s -- -94%
decode 3101884/s 1471% --
However this is just one string - the fewer encoded/decoded characters are in the string, the closer the benchmark is likely to be (see bench
for details). Different hardware will yield different results.
For a fast encoder/decoder which supports custom escape lists, check out URI::XSEscape.
INSTALLATION
$ git clone https://github.com/dnmfarrell/URI-Encode-XS
$ cd URI-Encode-XS
$ perl Makefile.PL
$ make
$ make test
$ make install
LICENSE
See LICENSE
AUTHOR
© 2016 David Farrell