rails--rails/activesupport/lib/active_support
Yehuda Katz 0adbeeb0c9 Got overhead down from 127 to 85. All tests pass:
* Tentatively replaced HeaderHash with SimpleHeaderHash, which does not preserve
    case but does handle converting Arrays to Strings in to_hash. This requires
    further discussion.
  * Moved default_charset to ActionDispatch::Response to avoid having to hop over
    to ActionController. Ideally, this would be a constant on AD::Response, but
    some tests expect to be able to change it dynamically and I didn't want to change
    them yet.
  * Completely override #initialize from Rack::Response. Previously, it was creating
    a HeaderHash, and then we were creating an entirely new one. There is no way to
    call super without incurring the overhead of creating a HeaderHash.
  * Override #write from Rack::Response. Its implementation tracks Content-Length,
    and doing so adds additional overhead that could be mooted if other middleware
    changes the body. It is more efficiently done at the top-level server.
  * Change sending_file to an instance_variable instead of header inspection. In
    general, if a state is important, it should be set as a property of the response
    not reconstructed later.
  * Set the Etag to @body instead of .body. AS::Cache.expand_cache_key handles
    Arrays fine, and it's more efficient to let it handle the body parts, since
    it is not forced to create a joined String.
  * If we detect the default cache control case, just set it, rather than setting
    the constituent parts and then running the normal (expensive) code to generate
    the string.
2009-08-11 15:03:53 -07:00
..
cache
core_ext
deprecation
json
locale
multibyte
ruby
testing
time
values
vendor
xml_mini
all.rb
autoload.rb
backtrace_cleaner.rb
base64.rb
basic_object.rb
buffered_logger.rb
cache.rb
callbacks.rb
concern.rb
concurrent_hash.rb
core_ext.rb
dependencies.rb
dependency_module.rb
deprecation.rb
duration.rb
gzip.rb
hash_with_indifferent_access.rb
inflections.rb
inflector.rb
json.rb
memoizable.rb
message_encryptor.rb
message_verifier.rb
mini.rb
multibyte.rb
new_callbacks.rb
option_merger.rb
ordered_hash.rb
ordered_options.rb
rescuable.rb
secure_random.rb
string_inquirer.rb
test_case.rb
time.rb
time_with_zone.rb
vendor.rb
version.rb
whiny_nil.rb
xml_mini.rb