Under the Project Settings / Compiler / Use external build checkbox there is the option 'Make project automatically'.
Enabling this feature runs 'continuous compilation', i.e. all sources are compiled as soon as they're modified (as saved actually, which happens automatically).
It means that we'd have Clover instrumenter called thousands of times during single IDEA IDE run. It means it would produce thousands of instrumentation sessions. And the current db structure is quite linear in search. And it would create thousands of coverage recorders - one instance per each class, practically.
Database structure and coverage records would have to be optimized for such continuous build approach.
- no instrumentation sessions, when new session starts, remove old data related with a source file being compiled and add the new one; might require extra index for fast search for the latest version
- using a SHARED coverage recorder;
- file-based hit count array indexes instead of the global one?