Date | Commit message (Collapse) |
|
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.
|
|
to keep it uniform with the rest of the repo
|
|
|
|
|
|
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
|
|
Update tests for Auth::Basic, Auth::Digest, Builder, Casecase, Handler::CGI,
Chunked, CommonLogger and ConditionalGet.
|
|
#include?
Signed-off-by: Joshua Peek <josh@joshpeek.com>
|
|
of apps
darcs-hash:20080311063124-f4dbf-23c5cce18626c600a4a78d9d2d4b41ae53c691f7.gz
|
|
darcs-hash:20070301185301-4fc50-159ee23dc4ab0c209dcbf8d7e014a308d72434d7.gz
|
|
darcs-hash:20070228200306-4fc50-493c566759d308dca533b0e5108cb14606af4edc.gz
|