- 19 10月, 2014 5 次提交
-
-
由 Godfrey Chan 提交于
-
由 Zachary Scott 提交于
-
由 Rafael Mendonça França 提交于
Replace (slower) block.call with (faster) yield
-
由 Zachary Scott 提交于
This reverts commit 0ab075e7.
-
由 claudiob 提交于
Performance optimization: `yield` with an implicit `block` is faster than `block.call`. See http://youtu.be/fGFM_UrSp70?t=10m35s and the following benchmark: ```ruby require 'benchmark/ips' def fast yield end def slow(&block) block.call end Benchmark.ips do |x| x.report('fast') { fast{} } x.report('slow') { slow{} } end # => fast 154095 i/100ms # => slow 71454 i/100ms # => # => fast 7511067.8 (±5.0%) i/s - 37445085 in 4.999660s # => slow 1227576.9 (±6.8%) i/s - 6145044 in 5.028356s ```
-
- 18 10月, 2014 1 次提交
-
-
由 claudiob 提交于
Performance optimization: `yield` with an implicit `block` is faster than `block.call`. See http://youtu.be/fGFM_UrSp70?t=10m35s and the following benchmark: ```ruby require 'benchmark/ips' def fast yield end def slow(&block) block.call end Benchmark.ips do |x| x.report('fast') { fast{} } x.report('slow') { slow{} } end # => fast 154095 i/100ms # => slow 71454 i/100ms # => # => fast 7511067.8 (±5.0%) i/s - 37445085 in 4.999660s # => slow 1227576.9 (±6.8%) i/s - 6145044 in 5.028356s ```
-
- 17 10月, 2014 2 次提交
-
-
由 Ryunosuke SATO 提交于
`cleanup_destination_root` method is not found anywhere. Instead, `prepare_destination` clean up distination root on setup.
-
由 Rafael Mendonça França 提交于
-
- 16 10月, 2014 5 次提交
-
-
由 Yves Senn 提交于
Closes #17197. Closes #17207. `{required}` is a type modifier so it should be: user:references{required}:index and not: user:references:index{required}
-
由 Yves Senn 提交于
-
由 Aditya Kapoor 提交于
-
由 Aditya Kapoor 提交于
-
由 Raman Sinha 提交于
-
- 14 10月, 2014 1 次提交
-
-
由 Rafael Mendonça França 提交于
It was changed to not set the cookie in get requests at https://github.com/rails/turbolinks/commit/62cc3db457ad9745ccda047dd43ab84fb3d89707. Related with dcb05f26.
-
- 13 10月, 2014 3 次提交
-
-
由 masarakki 提交于
-
由 Erik Michaels-Ober 提交于
-
由 Joshua Peek 提交于
-
- 01 10月, 2014 1 次提交
-
-
由 Rafael Mendonça França 提交于
It is temporary until we do the final release
-
- 28 9月, 2014 2 次提交
-
-
由 Abdelkader Boudih 提交于
-
由 Robin Dupret 提交于
Since we want this flag to be enabled anytime we are running the tests under JRuby, let's enable this at the Rakefile level so people get the performance boost on their local checkout. Moreover, we avoid having to update this particular line anytime the option changes on the JRuby side. The only drawback is that we have to define it in every Rakefile but there's no big deal, this is already the case for other options.
-
- 27 9月, 2014 2 次提交
-
-
由 Richard Schneeman 提交于
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
-
由 Rafael Mendonça França 提交于
-
- 26 9月, 2014 5 次提交
-
-
由 Byron Bischoff 提交于
-
由 Rafael Mendonça França 提交于
Also add to upgrading guide a notice about the deprecated sanitizers
-
由 Rafael Mendonça França 提交于
-
由 Rafael Mendonça França 提交于
-
由 Godfrey Chan 提交于
-
- 25 9月, 2014 2 次提交
-
-
由 buddhamagnet 提交于
-
由 Rafael Mendonça França 提交于
-
- 24 9月, 2014 1 次提交
-
-
由 Dan Olson 提交于
-
- 23 9月, 2014 1 次提交
-
-
由 Grzesiek Kolodziejczyk 提交于
fixture_path is a class attribute of ActiveSupport::TestCase, so ActiveSupport::TestCase.method_defined?(:fixture_path=) would always return false. This should fix #4971
-
- 22 9月, 2014 2 次提交
-
-
由 Yuki Nishijima 提交于
* The assertions in AS::Duration don't actually assert. * The assertion in Railtie will pass even when `eager_load_namespaces` doesn't include `AppTemplate::Application` if `Rails.application` is truthy. For more details, see here: * https://github.com/rails/rails/pull/16998 * https://github.com/rails/rails/pull/17000
-
由 Godfrey Chan 提交于
Fixes #16578
-
- 20 9月, 2014 1 次提交
-
-
由 Tamir Duberstein 提交于
This seems to be the style settled on in most of the templates.
-
- 19 9月, 2014 1 次提交
-
-
由 Xavier Noria 提交于
If code is not eager loaded constants are loaded on demand. Constant autoloading is not thread-safe, so if eager loading is not enabled multi-threading should not be allowed. This showed up in certain Capybara scenarios: Most Capybara drivers other than Rack::Test need a web server. In particular, drivers for JavaScript support. Capybara launches WEBrick in its own thread for those but that per se is fine, because the spec thread and the server thread are coordinated. Problem comes if the page being served in the spec makes Ajax calls. Those may hit WEBrick in parallel, and since WEBrick is multi-threaded and allow_concurrency? returns true in the test environment before this patch, threads are spawned to serve those parallel requests. On the other hand, since eager_load is false by default in the test environment, constants are not preloaded. So the suite is autoloading constants in a multi-threaded set. That's a receipt for paracetamol. The symptom is random obscure errors whose messages point somehow to constant autoloading. As a consequence of this fix for allow_concurrency? WEBrick in Capybara scenarios no longer runs in multi-threaded mode. Fixes #15089.
-
- 17 9月, 2014 2 次提交
-
-
由 Yukio Mizuta 提交于
-
由 Thibault Jouan 提交于
* Fix long lines; * Use simple quotes for string literals when interpolation is not used.
-
- 15 9月, 2014 2 次提交
-
-
由 yuuji.yaginuma 提交于
-
由 Yukio Mizuta 提交于
-
- 13 9月, 2014 1 次提交
-
-
由 yuuji.yaginuma 提交于
-