[cmake-developers] [CMake] CMake 2.8.12.201401116 is much slower than 2.8.12.1

Clinton Stimpson clinton at elemtech.com
Thu Jan 16 14:18:46 EST 2014


On Thursday, January 16, 2014 11:49:58 AM Ben Boeckel wrote:
> On Thu, Jan 16, 2014 at 08:41:58 -0700, Clinton Stimpson wrote:
> > I'm surprised how this small change added a 20% slowdown.
> > -set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG
> > QT_DEBUG)
> > +set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<NOT:
> > $<CONFIG:Debug>>:QT_NO_DEBUG>)
> 
> There's a lot of places where std::string gets passed as a const char*
> only to be turned back into a std::string in the function. Would it be
> worth me trying to resurrect that branch again? It wasn't worth much
> last I tried, but that was before a lot of the generator expression
> stuff was added.
> 
> I guess another question is whether the genex is evaluated once or
> per-target (I'd guess the latter which might be the reason especially if
> Qt4 is found at the top-level of a larger project).


>From a bit of profiling, std::string construction did take a sizable amount of 
time, but its not clear how much of that was redundant.

However, the profile of my test case showed that the time increase is in the 
parser (yylex).  Perhaps someone else can look further into this.

Clint



More information about the cmake-developers mailing list