Sarcasm / compdb

The compilation database Swiss army knife
MIT License
295 stars 23 forks source link

Support for watching/incremental rebuild #13

Open mfine15 opened 6 years ago

mfine15 commented 6 years ago

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!

hongwen000 commented 3 years ago

I'm appreciated if you would like to try my modified version [](https://github.com/hongwen000/compiledb-ninja-refined, which addressed) the performance issue. ~42K processed in 14 seconds.