1#!/usr/bin/env perl 2use Benchmark 'cmpthese'; 3use URI::Escape; 4use URI::Encode::XS; 5 6cmpthese(-10, { 7 escape => sub { URI::Escape::uri_escape('https://stackoverflow.com/questions/3629212/how can perls xsub die') }, 8 encode => sub { URI::Encode::XS::uri_encode('https://stackoverflow.com/questions/3629212/how can perls xsub die') }, 9 encode_utf8 => sub { URI::Encode::XS::uri_encode_utf8('https://stackoverflow.com/questions/3629212/how can perls xsub die') }, 10 }); 11cmpthese(-10, { 12 unescape => sub { URI::Escape::uri_unescape('https%3A%2F%2Fstackoverflow.com%2Fquestions%2F3629212%2Fhow%20can%20perls%20xsub%20die') }, 13 decode => sub { URI::Encode::XS::uri_decode('https%3A%2F%2Fstackoverflow.com%2Fquestions%2F3629212%2Fhow%20can%20perls%20xsub%20die') }, 14 decode_utf8 => sub { URI::Encode::XS::uri_decode_utf8('https%3A%2F%2Fstackoverflow.com%2Fquestions%2F3629212%2Fhow%20can%20perls%20xsub%20die') }, 15 }); 16__END__ 17=head1 RESULTS 18 19 Rate escape encode_utf8 encode 20 escape 140114/s -- -94% -98% 21 encode_utf8 2255100/s 1509% -- -71% 22 encode 7735189/s 5421% 243% -- 23 24 Rate unescape decode_utf8 decode 25 unescape 188714/s -- -95% -97% 26 decode_utf8 3744638/s 1884% -- -50% 27 decode 7429263/s 3837% 98% -- 28 29=cut 30