Skip to content

Conversation

@arvid-norlander
Copy link
Contributor

This implements a pair of workarounds for #350.

  • One is to use multi-core (most useful work working on a single target)
  • One is to entirely skip using the preprocessor (even faster).

Another option could be to instead add the ability to call out to the pre-processor from a hermetic toolchain. However, we don't use conditional includes, so these workarounds works for me.

@martis42
Copy link
Owner

martis42 commented May 30, 2025

I do not plan to integrate the "no preprocessing at all" part. As said in the discussion in #350, I want at least to handle commented code. A different implementation of experimental_no_preprocessor, which ignores commented code but does nothing else regarding preprocessing, just shipped with release 0.9.0.

Regarding the concurrent processing I am not yet sure. Bazel expects one action not to consume more compute power than a single core of your CPU can provide. The multi_core option would violate this and also not work well in remote execution scenarios. So, this would be an option specialized on analyzing a few very complex targets.

That much said, I am not outright rejecting the idea. But could you please first do a new test of DWYU based on the 0.9.0 release which includes your contribution #352 and the experimental_no_preprocessor option. I hope, those two things together allow you to use DWYU in a reasonable fashion.

@arvid-norlander
Copy link
Contributor Author

I should be able to find some time to test your new version next week, sorry for the delay.

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.

2 participants