Skip to content

Conversation

ManishPatelKodiak
Copy link

@ManishPatelKodiak ManishPatelKodiak commented May 20, 2025

With the ThreadPoolExecutor, it was observed that the compile commands extractor was effectively running single threaded for substantial periods of time, most likely due to the GIL. CPU utilization was only about one core. Using a ProcessPoolExecutor to work around the GIL seems to provide a substantial performance benefit - it was about 6x faster in a test run.

With the ThreadPoolExecutor, it was observed that the compile commands generator was effectively running single threaded, most likely due to the GIL. CPU utilization was only about one core. Using a ProcessPoolExecutor to work around the GIL seems to provide a substantial performance benefit - it was 6x faster when running on a powerful machine on a very large repo.
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.

1 participant