aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #17092 from Empact/defunct-ivarsRafael Mendonça França2014-09-292-11/+7
|\ | | | | Remove defunct ivars
| * Remove defunct ivarsBen Woosley2014-09-282-11/+7
|/ | | | @column_names_with_alias, @dynamic_methods_hash, @time_zone_column_names, and @cached_time_zone
* Merge pull request #17087 from taboularasa/masterRobin Dupret2014-09-282-4/+4
|\ | | | | technical correction in guides under 'Generating an engine' [ci skip]
| * technical correction in guides under 'Generating an engine'David Elliott2014-09-282-4/+4
|/ | | | `bin/rails` would not exist outside of a rails project
* Merge branch 'master' of github.com:rails/docrailsVijay Dev2014-09-285-17/+22
|\
| * Consistently markup etag options.Steven Harman2014-09-161-3/+3
| |
| * Consistently capitalize ETag.Steven Harman2014-09-161-3/+3
| |
| * [ci skip] Fix code snippet display in Action Mailer Basics guide.Juanito Fatas2014-09-161-2/+1
| |
| * form_helpers: demonstrating there is also a collection_select method in form ↵Thiago Pinto2014-09-131-0/+6
| | | | | | | | builder
| * [ci skip] Fix some typos, normalize sentence.Juanito Fatas2014-09-081-7/+7
| | | | | | | | | | | | | | | | Follow up of #16722. https://github.com/rails/rails/pull/16722 also normalize all instance gained methods’ sentence.
| * 'Revert' ->active_record_migrations [ci skip]Harshad Sabne2014-09-061-1/+1
| | | | | | Revert method documentation moved from migrations.md to active_record_migrations.md
| * 'Reversible' ->active_record_migrations [ci skip]Harshad Sabne2014-09-041-1/+1
| | | | | | Reversible method documentation moved from migrations.md to active_record_migrations.md
* | Merge pull request #17077 from schneems/schneems/backtrace-string-allocationsJeremy Kemper2014-09-271-4/+9
|\ \ | | | | | | Decrease backtrace cleaner object allocations
| * | Move object allocation out of loopRichard Schneeman2014-09-271-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now BenchmarkCleaner allocates hundreds of strings on every request with an exception. This patch moves those strings to be generated at boot once and re-used. ## Bench Methods I took a modified form of CodeTriage https://github.com/schneems/codetriage-ko1-test-app/blob/master/perf.rake and ran given rake tasks with and without the patch to BacktraceCleaner. I made an endpoint results in exception ``` def index raise “foo" end ``` The gem `memory_profiler` was used to capture objects allocated for a single request. Then `benchmark/ips` was used to test the speed of the patch. You will see that we use less objects and the code becomes measurably faster with this patch. ## With patch: Memory for one request: ``` Total allocated 7441 Total retained 37 ``` Requests per second: ``` Calculating ------------------------------------- ips 4 i/100ms ------------------------------------------------- ips 43.0 (±4.7%) i/s - 216 in 5.037733s ``` ## Without patch: Memory used for one request: ``` Total allocated 11599 Total retained 35 ``` Requests per second: ``` Calculating ------------------------------------- ips 3 i/100ms ------------------------------------------------- ips 39.4 (±7.6%) i/s - 198 in 5.052783s ``` ## Analysis The patch is faster: ``` (43.0 - 39.4 ) / 39.4 * 100 # => 9 # % ~ speed bump ``` It also allocates less objects: ``` 11599 - 7441 # => 4158 ``` These strings are allocated on __EVERY SINGLE REQUEST__. This patch saves us 4158 objects __PER REQUEST__ with exception. Faster errors == Faster applications
* | | Tiny follow-up to #16999 [ci skip]Robin Dupret2014-09-273-4/+4
| | | | | | | | | | | | | | | | | | * Fix a typo * Remove references to Rails version * Remove an extra whitespace
* | | Make AJ integration tests much less verboseMatthew Draper2014-09-278-26/+14
| | | | | | | | | | | | In passing, avoid a blind retry in QC: instead, just fix the problem.
* | | Merge pull request #17082 from prathamesh-sonpatki/fix-typo-in-upgrading-guideAbdelkader Boudih2014-09-271-1/+1
|\ \ \ | | | | | | | | Fix typo in upgrading guide
| * | | Fix typo in upgrading guidePrathamesh Sonpatki2014-09-271-1/+1
|/ / / | | | | | | | | | | | | - [ci skip] - behvaior -> behavior
* | | Merge pull request #17081 from prathamesh-sonpatki/fix-aj-typosAbdelkader Boudih2014-09-272-2/+2
|\ \ \ | | | | | | | | Fix some typos in ActiveJob
| * | | Fix some typos in ActiveJobPrathamesh Sonpatki2014-09-272-2/+2
|/ / / | | | | | | | | | [ci skip]
* | | Merge pull request #17080 from prathamesh-sonpatki/fix-typo-in-ar-changelogAbdelkader Boudih2014-09-271-1/+1
|\ \ \ | | | | | | | | Fix typo in AR changelog [ci skip]
| * | | Fix typo in AR changelogPrathamesh Sonpatki2014-09-271-1/+1
|/ / / | | | | | | | | | - middlware -> middleware
* | | some object allocation reduction for new AR objectsAaron Patterson2014-09-272-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Benchmark: ```ruby require 'objspace' require 'active_record' ActiveRecord::Base.establish_connection adapter: "sqlite3", database: ":memory:" ActiveRecord::Base.connection.instance_eval do create_table(:articles) { |t| t.string :name } end class Article < ActiveRecord::Base; end a = Article.create name: "foo" a = Article.find a.id N = 10 ObjectSpace::AllocationTracer.trace do N.times { Article.find a.id } end ObjectSpace::AllocationTracer.allocated_count_table table.sort_by { |_,x| x }.each do |k,v| p k => (v / N) end ```
* | | Merge pull request #17079 from y-yagi/patch-1Zachary Scott2014-09-261-2/+2
|\ \ \ | | | | | | | | [ci skip] fix typo in set examples
| * | | [ci skip] fix typo in set examplesyuuji.yaginuma2014-09-271-2/+2
|/ / /
* | | Merge pull request #17076 from yuki24/write-doc-for-rescue-responsesZachary Scott2014-09-261-0/+23
|\ \ \ | | | | | | | | Add documentation about rescue_responses in Configuring [ci skip]
| * | | Add documentation about `config.action_dispatch.rescue_responses`Yuki Nishijima2014-09-261-0/+23
|/ / / | | | | | | | | | [ci skip]
* | | Preparing for 4.2.0.beta2 releaseRafael Mendonça França2014-09-2610-10/+10
| | |
* | | Merge pull request #17071 from claudiob/don-t-require-action-dispatch-twiceRafael Mendonça França2014-09-261-2/+0
|\ \ \ | | | | | | | | Don’t require already required modules
| * | | Don’t require already required modulesclaudiofullscreen2014-09-261-2/+0
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | abstract_unit.rb requires `action_controller` which [already includes the following lines of code](https://github.com/rails/rails/blob/64fcdce1d3a6a8768ab17f3be144270456814f82/actionpack/lib/action_controller.rb#L2L3): ```ruby require 'abstract_controller' require 'action_dispatch' ```
* | | Merge pull request #17070 from felipecvo/masterRafael Mendonça França2014-09-261-3/+4
|\ \ \ | | | | | | | | Add +variants to ActionView::FileSystemResolver documentation.
| * | | Add +variants to ActionView::FileSystemResolver documentation.Felipe Oliveira2014-09-261-3/+4
|/ / /
* | | Revert "Merge pull request #16966 from why-el/symbolize-path-params"Rafael Mendonça França2014-09-252-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 9d05d6de52871e57bfbf54a60de005e8a5f5b0e4, reversing changes made to 0863c9248fd47a15e88e05ce4fcd80966684c0e3. The change in the behaviour reported at #16958 doesn't exist since 4.0 and 4.1 works in the same way
* | | Merge pull request #17061 from bronzle/remove_extra_#Rafael Mendonça França2014-09-251-1/+1
|\ \ \ | | | | | | | | remove extra # in css
| * | | remove extra # in cssByron Bischoff2014-09-251-1/+1
| | | |
* | | | Merge pull request #17059 from bronzle/remove_threadsafe_from_guidesAbdelkader Boudih2014-09-251-2/+2
|\ \ \ \ | |/ / / |/| | | [ci skip] Remove reference to config.threadsafe! in guides/configuring.md
| * | | [ci skip] Remove reference to config.threadsafe! in guides/configuriing.mdByron Bischoff2014-09-251-2/+2
|/ / /
* | | Merge pull request #16966 from why-el/symbolize-path-paramsRafael Mendonça França2014-09-252-0/+9
|\ \ \ | | | | | | | | | | | | Ensure named path params are symbols (Fixes #16958)
| * | | Ensure named path params are symbols (Fixes #16958)Mohamed Wael Khobalatte2014-09-252-0/+9
|/ / /
* | | No need CHANGLOG entry for a bug in a non released versionRafael Mendonça França2014-09-251-7/+0
| | | | | | | | | | | | [ci skip]
* | | Keep the original implementation to not having to allocate new objectsRafael Mendonça França2014-09-251-2/+15
| | |
* | | Merge pull request #17058 from eval/issue-17057Rafael Mendonça França2014-09-253-18/+19
|\ \ \ | | | | | | | | | | | | Remove internal options from query string of paths
| * | | Remove internal options from query string of pathsGert Goet2014-09-253-18/+19
| | | | | | | | | | | | | | | | Fixes #17057
* | | | No need to install the deprecated_sanitizer gemRafael Mendonça França2014-09-251-1/+0
| | | | | | | | | | | | | | | | It is not being used in our tests
* | | | rails-html-sanitizer is now the defaultRafael Mendonça França2014-09-253-13/+6
| | | | | | | | | | | | | | | | Also add to upgrading guide a notice about the deprecated sanitizers
* | | | Remove unused codeRafael Mendonça França2014-09-252-23/+1
| | | |
* | | | :nail_care: the CSSRafael Mendonça França2014-09-251-7/+18
| | | |
* | | | Merge pull request #17024 from buddhamagnet/amend-welcome-pageRafael Mendonça França2014-09-252-14/+11
|\ \ \ \ | | | | | | | | | | Amend welcome page
| * | | | Improve welcome page css and table cell aignments.buddhamagnet2014-09-252-14/+11
| | | | |
* | | | | Fix string/gid collision in job argumentsJeremy Kemper2014-09-252-6/+38
| | | | | | | | | | | | | | | | | | | | Serialize Global IDs as special objects, distinguishable from Strings