diff options
author | Eric Wong <normalperson@yhbt.net> | 2011-01-04 17:50:51 -0800 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2011-01-04 17:51:59 -0800 |
commit | d100025759450dd1cbeccd1a3e44c46921bba26b (patch) | |
tree | 8f623be43ae96cc9246a43b01fb5650751ca3769 /ext/unicorn_http/unicorn_http.rl | |
parent | 6183611108c571dbed29dfe2854b9f06757fd27f (diff) | |
download | unicorn-d100025759450dd1cbeccd1a3e44c46921bba26b.tar.gz |
This can return a static string and be significantly faster as it reduces object allocations and Ruby method calls for the fastest websites that serve thousands of requests a second. It assumes the Ruby runtime is single-threaded, but that is the case of Ruby 1.8 and 1.9 and also what Unicorn is all about. This change is safe for Rainbows! under 1.8 and 1.9.
Diffstat (limited to 'ext/unicorn_http/unicorn_http.rl')
-rw-r--r-- | ext/unicorn_http/unicorn_http.rl | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/unicorn_http/unicorn_http.rl b/ext/unicorn_http/unicorn_http.rl index 9b33e31..fd259b6 100644 --- a/ext/unicorn_http/unicorn_http.rl +++ b/ext/unicorn_http/unicorn_http.rl @@ -12,6 +12,8 @@ #include "global_variables.h" #include "c_util.h" +void init_unicorn_httpdate(void); + #define UH_FL_CHUNKED 0x1 #define UH_FL_HASBODY 0x2 #define UH_FL_INBODY 0x4 @@ -897,5 +899,6 @@ void Init_unicorn_http(void) SET_GLOBAL(g_content_length, "CONTENT_LENGTH"); SET_GLOBAL(g_http_connection, "CONNECTION"); id_clear = rb_intern("clear"); + init_unicorn_httpdate(); } #undef SET_GLOBAL |