summary refs log tree commit
path: root/lib/rack/cascade.rb
DateCommit message (Collapse)
2014-10-02Less allocated objects on each request
How many? Using `memory_profiler` and a Rails app (codetriage.com), master uses: ``` rack/lib x 7318 ``` After this patch, the app uses: ``` rack/lib x 4598 ``` Or `(7318 - 4598) / 7318.0 * 100 # => 37.16` % fewer objects __PER REQUEST__. To do this, I extracted really commonly used strings into top level Rack constants. It makes for a bit of a big diff, but I believe the changes are worth it. Running benchmark/ips against the same app, I'm seeing a performance host of `2~4%` across the entire app response. This doesn't just make Rack faster, it will make your app faster. While we could certainly go overboard and pre-define ALL strings as constants, that would be pretty gnarly to work with. This patch goes after the largest of the low hanging fruit.
2013-09-26add parentheses to method definitions with arguments
to keep it uniform with the rest of the repo
2012-12-28Cascade now conforms to the body.close SPEC
2012-12-14tweak Cascade docs
2012-01-22added Rack::Response::Helpers#method_not_allowed?
Rack::File now returns 404 during illegal directory traversal, for backward compat Rack::File now returns 405 for illegal methods Rack::Cascade now defaults to catch 405 aswell as 404, for backward compat with 1.3.x in most common use cases
2011-12-21Wrap test apps in Rack::Lint (first pass)
Update tests for Auth::Basic, Auth::Digest, Builder, Casecase, Handler::CGI, Chunked, CommonLogger and ConditionalGet.
2009-05-16Allow empty cascades. Reduce #call object allocation overhead. Speed up ↵
#include? Signed-off-by: Joshua Peek <josh@joshpeek.com>
2008-03-11Addition of #add, #<<, and #include? to Cascade, allowing iterative addition ↵
of apps darcs-hash:20080311063124-f4dbf-23c5cce18626c600a4a78d9d2d4b41ae53c691f7.gz
2007-03-01Add RDocs
darcs-hash:20070301185301-4fc50-159ee23dc4ab0c209dcbf8d7e014a308d72434d7.gz
2007-02-28Add Rack::Cascade, to pass on the first non 404 result
darcs-hash:20070228200306-4fc50-493c566759d308dca533b0e5108cb14606af4edc.gz