On 02/05/2016 09:10 AM, Bartosz Kosiorek wrote:
> Finally I was able to finalize git bisect.
> Generally without regression time was: real3m44.070s
> first bad commit: [0c97d32f7a592a768d614c19b3fd48eab245a2c4] 
> cmGlobalGenerator: Remove direct storage of target
> time increased to real    6m36.929s (second clean run real    6m12.635s)
> https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0c97d32f
> 
> In our project we have exactly 3287 targets, because we have
> flavored builds (in many cases one source code is build in
> three variants, depending on map type)

Thanks.  That commit was part of a larger refactoring topic:

 Merge topic 'use-generator-target'
 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1e8c920d

and so cannot be simply reverted without a lot of other changes.

It looks like these methods:

 cmGlobalGenerator::FindTargetImpl
 cmGlobalGenerator::FindGeneratorTargetImpl
 cmGlobalGenerator::FindImportedTargetImpl

are all now using linear searches instead of algorithmically
efficient data structures like before.  These lookups are done
a lot.

Steve, IIUC you made this change as part of refactoring to
separate configure-time and generate-time structures.  We need
to fix this to make the lookups efficient again.  Where should
we store the needed data structures now?

Thanks,
-Brad
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

Reply via email to