We have executables and libraries and a lot of custom targets (the project is organized so that we export headers during the build - not the best idea in the world). However, I finished (more or less) the script for building time stats from the cmake's trace and we (with my colleague) found the slowest part. In our cmake scripts we have a bunch of sub-projects which produce libraries and also we have an utility function with which we define dependencies between those sub-projects. Then we define executables and build a list of libraries in a right order (from more dependent to less dependent) using sub-project's dependencies. This list is necessary for linking the executables. So, it appears that the slowest part is the function that builds the list of libraries. Basically there is nothing wrong with that cmake function, it just intensively works with strings. :(
And here is where I put my script: https://code.google.com/p/cmake-profile-stats/ Comments are welcome. Also it looks like there are few bugs in the trace functionality of cmake; especially how callstack changes when cmake process foreach and if/else calls. I just didn't investigate them and I cannot provide more details. Sorry. -- Volo Zyko On Wed, Apr 24, 2013 at 10:14 PM, Bill Hoffman <[email protected]>wrote: > On 4/24/2013 3:07 PM, Volo Zyko wrote: > >> Hi, >> >> We use Makefiles on Linux and MacOS. Windows is not our target platform. >> From what we see Linux is the fastest. We made few attempts of building >> our project on Windows in VS but it was very-very slow and definitely >> cmake generates too many project files for VS. For us it was 500+ >> projects in a workspace which is too much for Visual Studio. :( >> > Chances are you have too many high level targets in your project. What > types of targets do you have? Are they all executables and libraries or > are you using custom targets to do something? That might be a source of > your performance issues as well. > > -Bill > > > -- > Bill Hoffman > Kitware, Inc. > 28 Corporate Drive > Clifton Park, NY 12065 > [email protected] > http://www.kitware.com > 518 881-4905 (Direct) > 518 371-3971 x105 > Fax (518) 371-4573 > > -- > > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/** > opensource/opensource.html<http://www.kitware.com/opensource/opensource.html> > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/**CMake_FAQ<http://www.cmake.org/Wiki/CMake_FAQ> > > Follow this link to subscribe/unsubscribe: > http://www.cmake.org/mailman/**listinfo/cmake<http://www.cmake.org/mailman/listinfo/cmake> >
-- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
