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

Redesign "parallel" flag/property #1845

Closed
arturbosch opened this issue Aug 24, 2019 · 0 comments
Closed

Redesign "parallel" flag/property #1845

arturbosch opened this issue Aug 24, 2019 · 0 comments

Comments

@arturbosch
Copy link
Member

Expected Behavior

  1. parallel should control parallel compilation of Kotlin files AND the rule execution.
  2. Not the CommonThreadPool should be used but the specified ExecutorService in ProcessingSettings. This could lead to performance improvements when embedding detekt.
  3. Multi module parallel gradle builds may become faster when using Gradle's --parallel=true and detekt's --parallel=false

Current Behavior

parallel just controls if kotlinc should parse multiple files in parallel or not using Java's list.parallelStream. Rules are always executed in parallel.
This has some downsides:

  1. As mentioned in Flag --parallel seems to do nothing #1513 it is not clear what this flag actually does.
  2. When using Gradle's --parallel many detekt tasks may run in the same time making the CommonThreadPool starve. Runs take like 6-10 seconds on CI for 1.5k lines of code.

Context

Parallel gradle detekt task execution can starve the CommonThreadPool.
Also #1513.

@arturbosch arturbosch added this to the 1.2.0 milestone Oct 5, 2019
@arturbosch arturbosch added this to Next in Roadmap Oct 6, 2019
Roadmap automation moved this from Next to Done Oct 24, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Feb 1, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Roadmap
  
Done
Development

No branches or pull requests

1 participant