- 22 4月, 2016 8 次提交
-
-
由 Vipul A M 提交于
Actioncable and Actionpack documentation typos [ci skip]
-
由 Tom Kadwill 提交于
-
由 Xavier Noria 提交于
Further investigation seems to disprove that backtracking is the reason why the positive variant is slower, see https://github.com/rails/rails/pull/24658#issuecomment-213079710 so, just say nothing about it, only assert it is slower.
-
由 Kasper Timm Hansen 提交于
using rails dev:cache instead of rake dev:cache
-
由 Mohit Natoo 提交于
-
由 Jeremy Daer 提交于
Log if redis connection is in stale/failed state.
-
由 Sean Griffin 提交于
Without the `wdm` gem, it appears that `listen` keeps an open handle to each of these files, causing them not to be removed when the tempdir tries to clean iteslf up, and then directory to fail to unlink. In addition to fixing that particular failure, we now construct OS agnostic paths, and capture exceptions if the directory fails to unlink so that minitest will report it rather than crash
-
由 Vipul A M 提交于
-
- 21 4月, 2016 25 次提交
-
-
由 Rafael França 提交于
Fix ApplicationController.renderer.defaults.merge!
-
由 Rafael França 提交于
Minor space bump.
-
由 Rafael França 提交于
use wrapper file to add rake task for engines
-
由 Mark 提交于
-
由 Xavier Noria 提交于
When you come here without context, it is important to hightlight that checking the predicate is worthwhile due to the observation that blank strings are often empty. So you complicate the code (which has a cost in terms of readability and aesthetics), but statistically makes sense. Then, you also need to explain why the second operand is so convoluted. Otherwise, you wonder why this line is written precisely this way. That is what code comments are for.
-
由 Jeremy Daer 提交于
Remove unused `BLANK_RE`
-
由 Rafael França 提交于
Add #18323 to 5.0 release notes
-
由 Rafael França 提交于
Update delegate to use newer Ruby syntax
-
由 प्रथमेश Sonpatki 提交于
Revert "add doc for `:type` option of `#create_join_table` [ci skip]"
-
由 प्रथमेश Sonpatki 提交于
-
由 प्रथमेश Sonpatki 提交于
add doc for `:type` option of `#create_join_table` [ci skip]
-
由 yuuji.yaginuma 提交于
Follow up to #24221.
-
由 Todd Lynam 提交于
This commit updates `delegate` to use the keyword argument syntax added in Ruby 2. I left the `ArgumentError` when `to` is missing, because it better explains how to correctly use `delegate`. We could instead rely on the default `ArgumentError` that would be raised if `to` were a required keyword argument.
-
由 Jon Moss 提交于
Fix small typos [ci skip]
-
由 yuuji.yaginuma 提交于
`bundler` provides wrapper file to add rask tasks. https://github.com/bundler/bundler/blob/master/lib/bundler/gem_tasks.rb Instead of directly call method, by which require this file, it can be used without updating of Rakefile if task has been added.
-
由 Ryuta Kamizono 提交于
Follow up to #24658.
-
由 Tom Copeland 提交于
-
由 Jon Moss 提交于
Fixes #23643. [ci skip]
-
由 Jon Moss 提交于
Previously, users were trying to modify a frozen Hash. Includes a regression test :) Fixes #22975
-
由 Xavier Noria 提交于
Speed up String#blank? Regex
-
由 schneems 提交于
Follow up on https://github.com/rails/rails/commit/697384df36a939e565b7c08725017d49dc83fe40#commitcomment-17184696. The regex to detect a blank string `/\A[[:space:]]*\z/` will loop through every character in the string to ensure that all of them are a `:space:` type. We can invert this logic and instead look for any non-`:space:` characters. When that happens, we would return on the first character found and the regex engine does not need to keep looking. Thanks @nellshamrell for the regex talk at LSRC. By defining a "blank" string as any string that does not have a non-whitespace character (yes, double negative) we can get a substantial speed bump. Also an inline regex is (barely) faster than a regex in a constant, since it skips the constant lookup. A regex literal is frozen by default. ```ruby require 'benchmark/ips' def string_generate str = " abcdefghijklmnopqrstuvwxyz\t".freeze str[rand(0..(str.length - 1))] * rand(0..23) end strings = 100.times.map { string_generate } ALL_WHITESPACE_STAR = /\A[[:space:]]*\z/ Benchmark.ips do |x| x.report('current regex ') { strings.each {|str| str.empty? || ALL_WHITESPACE_STAR === str } } x.report('+ instead of * ') { strings.each {|str| str.empty? || /\A[[:space:]]+\z/ === str } } x.report('not a non-whitespace char') { strings.each {|str| str.empty? || !(/[[:^space:]]/ === str) } } x.compare! end # Warming up -------------------------------------- # current regex # 1.744k i/100ms # not a non-whitespace char # 2.264k i/100ms # Calculating ------------------------------------- # current regex # 18.078k (± 8.9%) i/s - 90.688k # not a non-whitespace char # 23.580k (± 7.1%) i/s - 117.728k # Comparison: # not a non-whitespace char: 23580.3 i/s # current regex : 18078.2 i/s - 1.30x slower ``` This makes the method roughly 30% faster `(23.580 - 18.078)/18.078 * 100`. cc/ @fxn
-
由 Kasper Timm Hansen 提交于
create_join_table should work with uuid
-
由 Rafael França 提交于
Use of `whether or not` instead of `regardless if ... or not`
-
由 Mohit Natoo 提交于
-
由 Jeremy Daer 提交于
Dump indexes in `create_table` for generates SQL in one query
-
- 20 4月, 2016 7 次提交
-
-
由 Xavier Noria 提交于
See the rationale in the comment in this patch. To benchmark this I ran a number of variations, ultimately narrowing to require 'benchmark/ips' str = '' regexp = /\A[[:space:]]*\z/ Benchmark.ips do |x| x.report('regexp') { regexp === str } x.report('empty') { str.empty? || regexp === str } x.compare! end This benchmark has consistently reported speedups around 3.5x: Calculating ------------------------------------- regexp 69.197k i/100ms empty 115.468k i/100ms ------------------------------------------------- regexp 2. 6.3%) i/s - 13.839M empty 9. 8.8%) i/s - 47.804M Comparison: empty: 9642607.6 i/s regexp: 2768351.9 i/s - 3.48x slower Sometimes even reaching 4x. Running the same bechmark on strings of 10 or 100 characters (with whitespace or present) has shown a slowdown of just about 1.01/1.02. Marginal, we seem to have a worthwhile trade-off here.
-
由 Vipul A M 提交于
use rails command in `time:zones` task desc [ci skip]
-
由 yuuji.yaginuma 提交于
-
由 Rafael França 提交于
Fix example for css_class_attribute and fix indentation
-
由 Prathamesh Sonpatki 提交于
-
由 प्रथमेश Sonpatki 提交于
[ci skip] Small grammar fix
-
由 Abhishek Jain 提交于
-