Driver questions

Hi all,

I have have two questions regarding use of long-living Driver object:

1. Is it OK to call Driver::BuildCompilation and/or Driver::ExecuteCompilation with different Compilation objects in simultaneously running threads within single process?

2. Is there any way to save CPU cycles on constructing Compilation objects with argument lists which differ only in source file name (typical situation for building of big projects)?


According to documentation [1], "The Driver itself is intended to be invariant during construction of a Compilation; an IDE should be able to construct a single long lived driver instance to use for an entire build, for example." Could you give recommendations how to do it properly?