CGI Fast Escape/Unescape


The CGI Fast Escape library, by The Rubyists, LLC

This library replaces the CGI.escape and #unescape methods with the versions from URLEscape, a C extension which increases the efficiency of these methods at least 20x.

Download

Standard gem locations, source on github

Usage


require "cgi"
require "cgi_fast_escape"
CGI.escape("%03a" * 10000000)

Note: The above with CGI.escape may eat a lot of cycles.

Tests

If you have the full source, run the specs with ‘rake’ in the root of the library tree (lib/..).

Benchmarks

|user|system|total|real URLEscape::unescape|0.090000|0.000000|0.090000|( 0.090418) CGI::unescape|2.920000|0.000000|2.920000|( 2.924822)

|user|system|total|real URLEscape::unescape|0.090000|0.000000|0.090000|( 0.089071) CGI::unescape|3.120000|0.010000|3.130000|( 3.125334)

|user|system|total|real URLEscape::escape|0.200000|0.000000|0.200000|( 0.194290) CGI::escape|3.960000|0.000000|3.960000|( 3.995122)|

Support

See #rubyists on freenode or [email protected]

Copyright© 2009 by The Rubyists, LLC