[CMake] Status/use of CMake on Cygwin

Alan W. Irwin irwin at beluga.phys.uvic.ca
Mon May 20 14:14:19 EDT 2013


On 2013-05-20 10:15-0000 David Cole wrote:

> Under MSYS, I don’t think it’s a fork thing... I think it’s a file-system thing.
>
>
> When I run “time cmake --version” twice in a row in the MSYS git bash prompt, I get this:
>
>
> davidcole at WOK /c/dev
> $ time cmake --version
> cmake version 2.8.10.2
>
>
> real    0m0.215s
> user    0m0.015s
> sys     0m0.046s
>
>
> davidcole at WOK /c/dev
> $ time cmake --version
> cmake version 2.8.10.2
>
>
> real    0m0.070s
> user    0m0.015s
> sys     0m0.015s
>
>
> First time is slower, like you measured. Second time is quick. File-system caching effects would explain this.

I should have stated that I took care of all file-system caching
issues by just reporting the times for the second run, and everybody
should do that since that is the more realistic measurement.  (Builds
tend to use repeats of commands so the relevant executables tend to be
memory resident.) Thus, concentrating on those second results above,
your results are 3 times faster than on my MSYS/Wine system, but an
order of magnitude slower than I get for my Linux system.  So I
suspect your hardware may be 3 times faster than my entry-level PC
(2.4 GHz two-CPU Intel x86-64 system bought 5 years ago) and if you
ran the same test on the equivalent of your (probably) faster hardware that had
Linux installed the startup latency would still be ~25 times faster
than on your Windows system (because of fork inefficiency issues on
Windows).

That startup inefficiency takes a toll even on fast hardware since
typical configure and build steps often require thousands of otherwise
short commands to complete.  Of course, the long commands (i.e., a
compilation of a large source file or the result of a long test)
compensate for that somewhat since startup latency doesn't matter much
for them. So the total build and test slowdown is not as severe as a
factor of 25.  In fact, my Wine experience for a number of different
medium to small software projects is that MSYS-based builds and tests
take roughly two to four times longer to finish than their Linux
equivalents.  So that is irritating but inevitable according to what
is said about fork inefficiency on Windows for all MSYS and Cygwin
users.  On the other hand, MSYS (and Cygwin) are so useful in other
ways I am not going to give up on them because of the startup latency
issue.

I will have more to report on modern Cygwin speed once I can get its
installer to work on Wine.  As I posted last night that installer had issues for
Wine-1.5.19, but by now that is an extremely dated bi-weekly
experimental release that I stuck with this long because it worked so
well for MinGW/MSYS.  However, there is some hope the Cygwin installer
will work better with the latest experimental bi-weekly release of
Wine (version 1.5.30) with hundreds of bug fixes compared to 1.5.19.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________


More information about the CMake mailing list