A common way to speed things up even more is to merge some cpp file together, so each compiler thread is active for longer and common headers are compiled once.
With the new module feature of C++20, compilation is transformed into a DAG, and it is still unclear if it's really faster than just throwing a lot of cores at the problem.