-
Notifications
You must be signed in to change notification settings - Fork 427
Slow Elixir.Credo.CLI.Task.PrepareChecksToRun #1188
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
Comments
So far, tracked it down to
|
Keeping it open, just in case you see a way how to improve handling of such files. Otherwise I'm happy w/ the exclusion. |
Thx for reporting and your investigation! I have an idea how to improve this, let me tinker a bit 👍 |
Thanks, happy to test anything if you'll come up with something. |
Thanks again for reporting this 😀 It is now fixed on You should be able to try this by setting the Credo dep to {:credo, github: "rrrene/credo", branch: "1188-comment-finder-slow"} Please report back if your issue is solved! 👍 |
PrepareChecksToRun is fast now, thanks for fixing it! It also seems that I focused too much on PrepareChecksToRun and missed RunChecks. I've reconfigured Credo to include just the offending file and tracked it down to
Does it make sense to create a separate issue for it? When I open the offending
|
@zrzka This was insightful, thank you! 🥳 I pushed an update to the branch, where I reworked some checks. They are currently producing some false positives/negatives, but maybe you could check the speed again? (we will sort the false positives/negatives out eventually, now I am more interested if we are on the right path 😅) |
Whoa, here it is (the whole project, not just this one file):
We're definitely on the right path ;) |
We have been happily using Erlang 25.3.29, Elixir 1.14.5, and credo 1.6.1 for some time. It was super fast,
mix credo
runs in in a couple of seconds.Recently, we've bumped Elixir & Erlang versions in one of our projects, and
mix credo
became incredibly slow (2s -> 80s on CI). We've tried following combinations when bumping Erlang, Elixir, and Credo, and all of them are super slow.The difference between 62 & 65 checks can be ignored, we've added more checks and it's super slow even if we remove them.
When I run
mix credo --debug
locally, everything is fast except:.credo.exs I'm using now (most of the checks removed)
Execution struct
Any ideas what can be wrong, any recommendations? Anything I can provide to get to the bottom of this?
The text was updated successfully, but these errors were encountered: