Enable Rubocop Performance/ReverseEach

`Array.reverse_each` is faster than `Array.reverse.each` because:

* reverse.each creates a new array then loops each element
* reverse_each loops in reverse order (no intermediate array created)
This commit is contained in:
Stan Hu 2019-07-24 14:08:25 -07:00
parent 35ec674ee6
commit 07a308ad1b
4 changed files with 3 additions and 11 deletions

View File

@ -262,14 +262,6 @@ Naming/HeredocDelimiterNaming:
Naming/RescuedExceptionsVariableName:
Enabled: false
# Offense count: 3
# Cop supports --auto-correct.
Performance/ReverseEach:
Exclude:
- 'app/models/commit.rb'
- 'db/migrate/20190222051615_add_indexes_for_merge_request_diffs_query.rb'
- 'lib/gitlab/profiler.rb'
# Offense count: 7081
# Configuration parameters: Prefixes.
# Prefixes: when, with, without

View File

@ -346,7 +346,7 @@ class Commit
if commits_in_merge_request.present?
message_body << ""
commits_in_merge_request.reverse.each do |commit_in_merge|
commits_in_merge_request.reverse_each do |commit_in_merge|
message_body << "#{commit_in_merge.short_id} #{commit_in_merge.title}"
end
end

View File

@ -35,7 +35,7 @@ class AddIndexesForMergeRequestDiffsQuery < ActiveRecord::Migration[5.0]
end
def down
INDEX_SPECS.reverse.each do |spec|
INDEX_SPECS.reverse_each do |spec|
remove_concurrent_index(*spec)
end
end

View File

@ -166,7 +166,7 @@ module Gitlab
[model, times.count, times.sum]
end
summarised_load_times.sort_by(&:last).reverse.each do |(model, query_count, time)|
summarised_load_times.sort_by(&:last).reverse_each do |(model, query_count, time)|
logger.info("#{model} total (#{query_count}): #{time.round(2)}ms")
end
end