I'm using compdb on a somewhat large project: ~16k entries in the compilation db, most of which have dozens of flags. Because of this, generating a compilation database with header files takes ~30 minutes.
I've been working on speeding this up, which I'll try to submit a pull request for soon, but the biggest speedup would come from not having to regenerate the entire database whenever a single entry changes. If compdb could keep the database in memory and only have to generate header commands for the changed files, that would drastically speed up the workflow after the first build.
I understand that this may require a good bit of work, and I'm happy to look into making the changes myself. I wanted to raise this issue to see if anyone had any insight on the best way to accomplish this, as well as determine if this would be a useful feature to be merged back into the upstream project?
I'm using compdb on a somewhat large project: ~16k entries in the compilation db, most of which have dozens of flags. Because of this, generating a compilation database with header files takes ~30 minutes.
I've been working on speeding this up, which I'll try to submit a pull request for soon, but the biggest speedup would come from not having to regenerate the entire database whenever a single entry changes. If compdb could keep the database in memory and only have to generate header commands for the changed files, that would drastically speed up the workflow after the first build.
I understand that this may require a good bit of work, and I'm happy to look into making the changes myself. I wanted to raise this issue to see if anyone had any insight on the best way to accomplish this, as well as determine if this would be a useful feature to be merged back into the upstream project?
Really appreciate your work on compdb!