It turns out the problem was due to scoping. The module in question was only being included by subdirectories, but not the top-level listfile (I'm sure you can see where this is going).
Switching the include guard to make use of a property rather than a variable took care of the problem nicely - we're back to 55s. Thanks for the responses! Steve On Wed, Apr 6, 2016 at 8:38 AM, Miller Henry <millerhe...@johndeere.com> wrote: > I found the same thing a few years ago, and my solution was the same: only > include those modules once. I find that my sub cmake modules are much > cleaner now as a bonus. > > I tend to blame the time not on file IO, but on time to parse those files. > I've never done actual profiling though. > > -----Original Message----- > From: CMake [mailto:cmake-boun...@cmake.org] On Behalf Of Steven Stallion > Sent: Tuesday, April 05, 2016 11:19 PM > To: cmake@cmake.org > Subject: [CMake] Performance issues on very large project > > All, > > I am currently working on a very large project that contains over 500 (yes, > really) listfiles. A co-worker was looking into some performance issues we > were seeing during configuration and found something very interesting. > Currently configuration is taking 1m57s across several configurations using > Mac OS X as a host and the latest .dmg from cmake.org (3.5.1). > > We have a core module that provides a number of helper functions and macros > (completely stateless) that is included by most of this listfiles (nearly 400 > of them). We found that an include guard was missing, after adding that > configuration now clocks in at 1m30s. > > Taking things a step further, we removed includes of the module, and simply > included it once in the top-level listfile. Configuration then dropped to > about 55s. > > The results above seem to indicate a possible file I/O bottleneck. > This is very surprising to me - these builds are being run on recent > core-i7's with SSDs. Is anyone else on the list dealing with large projects > or similar configuration issues? > > TIA, > > Steve > -- > > 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 -- 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