[cmake-developers] cmake install command expected performance?

Robert Goulet Robert.Goulet at autodesk.com
Tue Feb 24 09:51:52 EST 2015


Thanks everyone for all the hints! After a closer look, cmake actual copying of files is indeed just as fast as normal OS copy, tested after reboots everytime. However, when the files are already present (all target up-to-date), it still takes 50+ seconds for cmake to realize that all files don't need to be copied, compared to an OS copy or a robocopy in ruby that takes less than a second. Perhaps the log spam for every file in the console is part of the problem? Is there a way to turn it off?

-----Original Message-----
From: Joshua Clayton [mailto:stillcompiling at gmail.com] 
Sent: Monday, February 23, 2015 9:28 PM
To: Robert Goulet
Cc: Nils Gladitz; cmake-developers at cmake.org
Subject: Re: [cmake-developers] cmake install command expected performance?

On Linux reading the input file would still be cached on subsequent runs even  if you remove the destination folder, and writing will always cache unless you have a filesystem mounted with -o sync (that supports sync) Without special effort, only the first time you run will it be reading from actual files on disk.
running the sync command immediately afterward can give you an idea how long it took to actually write out the files to media.

Not sure how this works on other OS's, but expect it is similar.

On Mon, Feb 23, 2015 at 8:10 AM, Robert Goulet <Robert.Goulet at autodesk.com> wrote:
> We deleted the destination folder every time we did a test. And it's an SSD drive, I don't think having files in cache would be the issue. When files are already there it still takes 30+ seconds for cmake to "not" copy the files.
>
> -----Original Message-----
> From: Nils Gladitz [mailto:nilsgladitz at gmail.com]
> Sent: Monday, February 23, 2015 10:37 AM
> To: Robert Goulet; cmake-developers at cmake.org
> Subject: Re: [cmake-developers] cmake install command expected performance?
>
> On 02/23/2015 04:13 PM, Robert Goulet wrote:
>> I'm running into an issue were using the CMake install command to 
>> copy a directory with over 5000+ files (slightly over 1GB of data) 
>> takes a lot more time than doing a simple copy. On an SSD drive it 
>> takes 0.2 seconds to copy, while it takes about 56+ seconds for CMake 
>> to do the same thing using the install command. Why is there so much 
>> a big difference? Is this intended for some reasons or could there be a bug? Thanks!
>
> Did you run the manual copy right after the cmake install? (e.g. could files still have been in the system's disk cache?).
>
> Both a manual copy and a cmake install might omit copying if the source isn't newer than the destination file; did you perform both with the destination files missing?
>
> Nils
> --
>
> 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


More information about the cmake-developers mailing list