| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \ \
| |/ / /
|/| | | |
technical correction in guides under 'Generating an engine' [ci skip]
|
|/ / /
| | |
| | |
| | | |
`bin/rails` would not exist outside of a rails project
|
|\ \ \ |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
builder
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Follow up of #16722.
https://github.com/rails/rails/pull/16722
also normalize all instance gained methods’ sentence.
|
| | | |
| | | |
| | | | |
Revert method documentation moved from migrations.md to active_record_migrations.md
|
| | | |
| | | |
| | | | |
Reversible method documentation moved from migrations.md to active_record_migrations.md
|
|\ \ \ \
| |_|/ /
|/| | | |
Decrease backtrace cleaner object allocations
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Fix a typo
* Remove references to Rails version
* Remove an extra whitespace
|
| | | |
| | | |
| | | |
| | | | |
In passing, avoid a blind retry in QC: instead, just fix the problem.
|
|\ \ \ \
| | | | |
| | | | | |
Fix typo in upgrading guide
|
|/ / / /
| | | |
| | | |
| | | |
| | | | |
- [ci skip]
- behvaior -> behavior
|
|\ \ \ \
| | | | |
| | | | | |
Fix some typos in ActiveJob
|
|/ / / /
| | | |
| | | |
| | | | |
[ci skip]
|
|\ \ \ \
| | | | |
| | | | | |
Fix typo in AR changelog [ci skip]
|
|/ / / /
| | | |
| | | |
| | | | |
- middlware -> middleware
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
```
|
|\ \ \ \
| | |_|/
| |/| | |
[ci skip] fix typo in set examples
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Add documentation about rescue_responses in Configuring [ci skip]
|
|/ / /
| | |
| | |
| | | |
[ci skip]
|
| | | |
|
|\ \ \
| | | |
| | | | |
Don’t require already required modules
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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'
```
|
|\ \ \
| | | |
| | | | |
Add +variants to ActionView::FileSystemResolver documentation.
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| | | |
| | | | |
remove extra # in css
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
[ci skip] Remove reference to config.threadsafe! in guides/configuring.md
|
|/ / / |
|
|\ \ \
| | | |
| | | |
| | | | |
Ensure named path params are symbols (Fixes #16958)
|
|/ / / |
|
| | |
| | |
| | |
| | | |
[ci skip]
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
Remove internal options from query string of paths
|
| | | |
| | | |
| | | |
| | | | |
Fixes #17057
|
| | | |
| | | |
| | | |
| | | | |
It is not being used in our tests
|
| | | |
| | | |
| | | |
| | | | |
Also add to upgrading guide a notice about the deprecated sanitizers
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Amend welcome page
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Serialize Global IDs as special objects, distinguishable from Strings
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
This reverts commit 585e75696b31395aee895e5366e331c07c3f5ee1.
|