1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/actionview/lib/action_view
yuuji.yaginuma 1b86d90136 Enable Performance/UnfreezeString cop
In Ruby 2.3 or later, `String#+@` is available and `+@` is faster than `dup`.

```ruby
# frozen_string_literal: true

require "bundler/inline"

gemfile(true) do
  source "https://rubygems.org"

  gem "benchmark-ips"
end

Benchmark.ips do |x|
  x.report('+@') { +"" }
  x.report('dup') { "".dup }
  x.compare!
end
```

```
$ ruby -v benchmark.rb
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
Warming up --------------------------------------
                  +@   282.289k i/100ms
                 dup   187.638k i/100ms
Calculating -------------------------------------
                  +@      6.775M (± 3.6%) i/s -     33.875M in   5.006253s
                 dup      3.320M (± 2.2%) i/s -     16.700M in   5.032125s

Comparison:
                  +@:  6775299.3 i/s
                 dup:  3320400.7 i/s - 2.04x  slower

```
2018-09-23 08:56:55 +09:00
..
helpers Enable Performance/UnfreezeString cop 2018-09-23 08:56:55 +09:00
locale
renderer Enable Performance/UnfreezeString cop 2018-09-23 08:56:55 +09:00
tasks Use frozen string literal in actionview/ 2017-07-24 11:53:43 +03:00
template Enable Performance/UnfreezeString cop 2018-09-23 08:56:55 +09:00
testing Enable Performance/UnfreezeString cop 2018-09-23 08:56:55 +09:00
base.rb [Action View] require_relative => require 2017-10-21 22:48:28 +09:00
buffers.rb [ci skip] Doc ActionView::OutputBuffer 2018-09-06 15:28:45 -05:00
context.rb ActionController -> Action Controller [ci skip] 2018-04-17 12:14:10 +02:00
dependency_tracker.rb [Action View] require_relative => require 2017-10-21 22:48:28 +09:00
digestor.rb Don’t allocate array on no args 2018-09-07 17:33:10 -05:00
flows.rb Use frozen string literal in actionview/ 2017-07-24 11:53:43 +03:00
gem_version.rb Start Rails 6.0 development!!! 2018-01-30 18:51:17 -05:00
helpers.rb Remove RecordTagHelper 2018-04-07 09:28:01 +09:00
layouts.rb [Action View] require_relative => require 2017-10-21 22:48:28 +09:00
log_subscriber.rb Enable Performance/UnfreezeString cop 2018-09-23 08:56:55 +09:00
lookup_context.rb [Action View] require_relative => require 2017-10-21 22:48:28 +09:00
model_naming.rb Use frozen string literal in actionview/ 2017-07-24 11:53:43 +03:00
path_set.rb Use frozen string literal in actionview/ 2017-07-24 11:53:43 +03:00
railtie.rb Add action_view.finalize_compiled_template_methods config option 2018-04-02 20:50:33 +01:00
record_identifier.rb [Action View] require_relative => require 2017-10-21 22:48:28 +09:00
rendering.rb [Action View] require_relative => require 2017-10-21 22:48:28 +09:00
routing_url_for.rb Use frozen string literal in actionview/ 2017-07-24 11:53:43 +03:00
template.rb Enable Performance/UnfreezeString cop 2018-09-23 08:56:55 +09:00
test_case.rb Enable Performance/UnfreezeString cop 2018-09-23 08:56:55 +09:00
version.rb Use frozen string literal in actionview/ 2017-07-24 11:53:43 +03:00
view_paths.rb Use frozen string literal in actionview/ 2017-07-24 11:53:43 +03:00