bougyman / rack_fast_escape

Replaces Rack::Utils.escape with URLEscape.escape

This URL has Read+Write access

TJ Vanderpoel (author)
Wed Jun 24 13:18:37 -0700 2009
commit  511f98ad813a39ce9d6473b086a77293986ebb30
tree    0a08287c0ab6dfaecc297f9b1a0b557def9cd972
parent  ed188e6a3ba45b4c5e0989ad496c26503c3b2eb9
README
== Rack Fast Escape/Unescape
----------

  The Rack Fast Escape library, by The Rubyists, LLC

This library replaces the Rack::Utils.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 "rack"
  require "rack_fast_escape"
  Rack::Utils.escape("%03a" * 10000000)

Note: The above with Rack::Utils.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)
Rack::Utils::unescape|3.120000|0.010000|3.130000|(  3.125334)

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

== Support

See #rubyists on freenode or rubyists@rubyists.com

Copyright(c) 2009 by The Rubyists, LLC