Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recover 7x slow running rubocop #10750

Merged
merged 1 commit into from Jun 28, 2022

Conversation

koic
Copy link
Member

@koic koic commented Jun 27, 2022

Recovers #10735 regression.

This PR recovers 7x slower running rubocop.

v1.30.1

Originally it was about 12 seconds:

% git chceckout v1.30.1
% bundle exec rubocop --display-time
Inspecting 1366 files
(snip)

1366 files inspected, no offenses detected
Finished in 12.27936500031501 seconds

master (v1.31.0 / after #10735)

7x slower in my local environment:

% bundle exec rubocop --display-time
Inspecting 1393 files
(snip)

1393 files inspected, no offenses detected
Finished in 88.82363200001419 seconds

This patch

It recovers to the same speed as v1.30.1:

% bundle exec rubocop --display-time
Inspecting 1393 files
(snip)

1393 files inspected, no offenses detected
Finished in 12.322518999688327 seconds

The cause has not been clarified yet, but it seems that it was caused by changing require_relative to autoload in #10735.
This PR change to require_relative to resolve the cause of the delay.


Before submitting the PR make sure the following are checked:

  • The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
  • Wrote good commit messages.
  • Commit message starts with [Fix #issue-number] (if the related issue exists).
  • Feature branch is up-to-date with master (if not - rebase it).
  • Squashed related commits together.
  • Added tests.
  • Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
  • Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Recovers rubocop#10735 regression.

This PR recovers 7x slower running `rubocop`.

## v1.30.1

Originally it was about 12 seconds:

```console
% git chceckout v1.30.1
% bundle exec rubocop --display-time
Inspecting 1366 files
(snip)

1366 files inspected, no offenses detected
Finished in 12.27936500031501 seconds
```

## master (v1.31.0 / after rubocop#10735)

7x slower in my local environment:

```console
% bundle exec rubocop --display-time
Inspecting 1393 files
(snip)

1393 files inspected, no offenses detected
Finished in 88.82363200001419 seconds
```

## This patch

It recovers to the same speed as v1.30.1:

```console
% bundle exec rubocop --display-time
Inspecting 1393 files
(snip)

1393 files inspected, no offenses detected
Finished in 12.322518999688327 seconds
```

The cause has not been clarified yet, but it seems that it was caused by
changing `require_relative` to `autoload` in rubocop#10735.
This PR change to `require_relative` to resolve the cause of the delay.
@koic koic force-pushed the recover_slow_running_rubocop branch from cf82530 to a4039ae Compare June 27, 2022 07:51
@bbatsov bbatsov merged commit fca9fe8 into rubocop:master Jun 28, 2022
@bbatsov
Copy link
Collaborator

bbatsov commented Jun 28, 2022

Pretty weird indeed. Probably we'll need to cut a new release in the next couple of this, because of this.

@koic koic deleted the recover_slow_running_rubocop branch June 28, 2022 05:31
@koic
Copy link
Member Author

koic commented Jun 28, 2022

I'm sorry for the trouble. I also hope it will be released soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants