aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #20887 from tgxworld/ar_callbacksRafael Mendonça França2015-07-158-23/+32
|\ | | | | Revert "Revert "Reduce allocations when running AR callbacks.""
| * Revert "Revert "Reduce allocations when running AR callbacks.""Guo Xiang Tan2015-07-168-23/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit bdc1d329d4eea823d07cf010064bd19c07099ff3. Before: Calculating ------------------------------------- 22.000 i/100ms ------------------------------------------------- 229.700 (± 0.4%) i/s - 1.166k Total Allocated Object: 9939 After: Calculating ------------------------------------- 24.000 i/100ms ------------------------------------------------- 246.443 (± 0.8%) i/s - 1.248k Total Allocated Object: 7939 ``` begin require 'bundler/inline' rescue LoadError => e $stderr.puts 'Bundler version 1.10 or later is required. Please update your Bundler' raise e end gemfile(true) do source 'https://rubygems.org' # gem 'rails', github: 'rails/rails', ref: 'bdc1d329d4eea823d07cf010064bd19c07099ff3' gem 'rails', github: 'rails/rails', ref: 'd2876141d08341ec67cf6a11a073d1acfb920de7' gem 'arel', github: 'rails/arel' gem 'sqlite3' gem 'benchmark-ips' end require 'active_record' require 'benchmark/ips' ActiveRecord::Base.establish_connection('sqlite3::memory:') ActiveRecord::Migration.verbose = false ActiveRecord::Schema.define do create_table :users, force: true do |t| t.string :name, :email t.boolean :admin t.timestamps null: false end end class User < ActiveRecord::Base default_scope { where(admin: true) } end admin = true 1000.times do attributes = { name: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", email: "foobar@email.com", admin: admin } User.create!(attributes) admin = !admin end GC.disable Benchmark.ips(5, 3) do |x| x.report { User.all.to_a } end key = if RUBY_VERSION < '2.2' :total_allocated_object else :total_allocated_objects end before = GC.stat[key] User.all.to_a after = GC.stat[key] puts "Total Allocated Object: #{after - before}" ```
* | Merge pull request #20812 from aditya-kapoor/close-20694Robin Dupret2015-07-151-0/+16
|\ \ | | | | | | [ci skip] add note for individual stub creation
| * | [ci skip] add note for individual stub creationAditya Kapoor2015-07-151-0/+16
|/ /
* | Rack implements `redirect?` so we don't need itAaron Patterson2015-07-142-6/+0
| | | | | | | | Rack [already implements `redirect?` on the response object](https://github.com/rack/rack/blob/1569a985e17d9caaf94d0e97d95ef642c4ab14ba/lib/rack/response.rb#L141) so we don't need to implement our own.
* | Fix Gemfile.lockRafael Mendonça França2015-07-141-1/+0
| |
* | Remove concurrent-ruby from Action Pack gemspecRafael Mendonça França2015-07-141-1/+0
| | | | | | | | It is already on Active Support
* | Merge pull request #20866 from jdantonio/countdown-latchAaron Patterson2015-07-1411-58/+70
|\ \ | | | | | | Replace `ActiveSupport::Concurrency::Latch` with `Concurrent::CountDownLatch` from concurrent-ruby.
| * | Replaced `ActiveSupport::Concurrency::Latch` with concurrent-ruby.Jerry D'Antonio2015-07-1311-58/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The concurrent-ruby gem is a toolset containing many concurrency utilities. Many of these utilities include runtime-specific optimizations when possible. Rather than clutter the Rails codebase with concurrency utilities separate from the core task, such tools can be superseded by similar tools in the more specialized gem. This commit replaces `ActiveSupport::Concurrency::Latch` with `Concurrent::CountDownLatch`, which is functionally equivalent.
* | | Merge pull request #20877 from sikachu/rename-ac-test_responseRafael Mendonça França2015-07-144-4/+4
|\ \ \ | | | | | | | | Change AC::TestResponse to AD::TestResponse
| * | | Change AC::TestResponse to AD::TestResponsePrem Sichanugrist2015-07-144-4/+4
| | | | | | | | | | | | | | | | | | | | ActionController::TestResponse was removed in d9fe10c and caused a test failure on Action View as its test case still refers to it.
* | | | only call methods that are on the superclassAaron Patterson2015-07-143-7/+6
|/ / / | | | | | | | | | | | | | | | We want to treat the response object as if it's a real response object (not a test object), so we should only call methods that are on the superclass.
* | | Merge pull request #20870 from y-yagi/test_runner_inside_engineKasper Timm Hansen2015-07-144-7/+13
|\ \ \ | | | | | | | | make test runner work correctly inside engine
| * | | make test runner work correctly inside engineyuuji.yaginuma2015-07-124-7/+13
| | | |
* | | | use a lookup table for `assert_response`Aaron Patterson2015-07-132-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We shouldn't depend on specific methods imlemented in the TestResponse subclass because the response could actually be a real response object. In the future, we should either push the aliased predicate methods in TestResponse up to the real response object, or remove them
* | | | only have one TestResponse classAaron Patterson2015-07-132-5/+2
| | | |
* | | | move buffer caching on to the bufferAaron Patterson2015-07-133-7/+15
| | | |
* | | | Merge pull request #20736 from antoine-lizee/docsRobin Dupret2015-07-133-2/+7
|\ \ \ \ | | | | | | | | | | [ci skip] docs: making clear that perform_caching has a limited impact
| * | | | [ci skip] doc: making clear that perform_caching has a limited impactantoine.lizee2015-07-133-2/+7
| | | | |
* | | | | Remove JRuby and Rubinius from the travis matrixRafael Mendonça França2015-07-131-4/+0
| |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will save Travis some precious resource since it will not need to run 18 jobs for these Ruby implementations on every push or pull request. We do care about these implementations but we should fix the build locally before having it running on travis. We would love to have someone working on this but right now it is not our reality.
* | | | Merge pull request #20852 from hedgesky/fix_typo_in_caching_guideKasper Timm Hansen2015-07-121-1/+1
|\ \ \ \ | |_|/ / |/| | | fix typo in caching guide [ci skip]
| * | | fix typo in caching guide [ci skip]Anton Chuchkalov2015-07-121-1/+1
|/ / /
* | | Merge pull request #20842 from TheBlasfem/removed_usage_lines_docsClaudio B.2015-07-112-2/+2
|\ \ \ | |_|/ |/| | Removed usage line docs [ci skip]
| * | added description instead of remove usage [ci skip]Julio Lopez2015-07-112-2/+2
| | |
* | | Merge branch 'json-gem-tests'Godfrey Chan2015-07-113-102/+186
|\ \ \
| * | | Expand coverage of JSON gem testsGodfrey Chan2015-07-111-16/+30
| | | |
| * | | Expand the JSON test coverage for Struct and Hash (?!)Godfrey Chan2015-07-111-1/+13
| | | |
| * | | Add tests to ensure we don't interfere with json gem's outputGodfrey Chan2015-07-113-102/+160
|/ / /
* | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2015-07-111-1/+1
|\ \ \
| * | | [ci skip] Fix hash key to symbolyui-knk2015-06-241-1/+1
| | | |
* | | | Merge pull request #20847 from zamith/cleanup-am-testsAbdelkader Boudih2015-07-111-61/+2
|\ \ \ \ | | | | | | | | | | Removes unnecessary comments from i18n validations tests [ci skip]
| * | | | Removes unnecessary comments from i18n validations tests [ci skip]Zamith2015-07-111-61/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | These comments do not add a lot to the readability, grepability or overall understanding of the tests, therefore I believe they can be safely removed.
* | | | Merge pull request #20845 from y-yagi/fix_typo_in_changelogKasper Timm Hansen2015-07-111-1/+1
|\ \ \ \ | | | | | | | | | | fix class name typo [ci skip]
| * | | | fix class name typo [ci skip]yuuji.yaginuma2015-07-111-1/+1
|/ / / /
* | | | Merge pull request #20832 from ↵Xavier Noria2015-07-111-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | mcfiredrill/contributing-to-rails-bugs-arent-fixes [ci skip] change sentence about reporting bugs in contributing guide
| * | | | the key is that the behavior is incorrect [ci skip]Tony Miller2015-07-111-1/+1
| | | | |
| * | | | saying that "behaviour" "behaves" is kind of awkward, how about "works"Tony Miller2015-07-101-1/+1
| | | | |
| * | | | [ci skip] change sentence about reporting bugs in contributing guideTony Miller2015-07-101-1/+1
| | |/ / | |/| | | | | | | | | | | | | | | | | | I think I know what this sentence is trying to say, but the sentence didn't really make sense, bugs don't fix things! How about this take on it? :sweat_smile:
* | | | Merge pull request #20838 from TheBlasfem/improve_duplicable_documentationKasper Timm Hansen2015-07-111-1/+5
|\ \ \ \ | | | | | | | | | | Improve duplicable documentation [ci skip]
| * | | | improve duplicable documentation [ci skip]Julio Lopez2015-07-101-1/+5
| |/ / /
* | | | Merge pull request #20843 from zamith/activemodel-remove-mochaClaudio B.2015-07-101-27/+27
|\ \ \ \ | | | | | | | | | | Remove the reference to mocha in activemodel
| * | | | Remove the reference to mocha in activemodelZamith2015-07-111-27/+27
|/ / / / | | | | | | | | | | | | | | | | Activemodel is no longer dependent on mocha, so we can make the comments more generic.
* | | | remove Rack::Lock for webrickAaron Patterson2015-07-101-11/+1
| | | | | | | | | | | | | | | | constant loading should be thread safe now, so lets remove this
* | | | Require yaml for XML mini isolation test.Kasper Timm Hansen2015-07-111-0/+1
| | | |
* | | | Merge pull request #17102 from matthewd/load-interlockAaron Patterson2015-07-108-53/+315
|\ \ \ \ | | | | | | | | | | Concurrent load interlock (rm Rack::Lock)
| * | | | Document ShareLock and the InterlockMatthew Draper2015-07-093-9/+42
| | | | |
| * | | | Fix the Interlock middlewareMatthew Draper2015-07-091-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | We can't actually lean on Rack::Lock's implementation, so we'll just copy it instead. It's simple enough that that's not too troubling.
| * | | | Rely on the load interlock for non-caching reloads, tooMatthew Draper2015-07-094-24/+28
| | | | |
| * | | | Soften the lock requirements when eager_load is disabledMatthew Draper2015-07-097-47/+263
| | | | | | | | | | | | | | | | | | | | | | | | | We don't need to fully disable concurrent requests: just ensure that loads are performed in isolation.
* | | | | Require yaml for time_zone isolation test.Kasper Timm Hansen2015-07-111-0/+1
| | | | | | | | | | | | | | | | | | | | See 2f26f611 for more info.