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