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

Do not add duplicate json files to compilation db #16

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

AlexK-BD
Copy link

The list of temporary compile command json files generated on build events can have many duplicates. This PR deduplicates that list before building up the compilation db.

This can lead to massive reductions in size (100x in my case). The raw list was something like 500k files, with only 3600 of them being unique. The resulting compile_commands.json is substantially smaller -- with duplicates, I've seen it as large as 11GB for my configuration; with this change, it is 166MB

clangd doesn't cope well with a large and heavily duplicated json file, and tends to run out of memory.

This can lead to massive reductions in size (100x in my case)
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