Hi,
I just stumbled across this mail on the monotone mailing list, which advises to use the non-thread-safe libraries to get a 3 factor speed-up on a Cygwin binary.
Might be interesting to investigate for those that compiled LyX with Cygwin.
Regards, Asger
--- Begin Message ---For the benefit the Cygwin Monotone users...I found out part of the reason why the default GCC compiler for Cygwin (gcc version 3.3.3 (cygwin special)) produces a very slow Monotone executable - the pthread_mutex_* calls dominates its time in libstdc++. When I built a non-thread safe version of GCC using the following flags: $ g++ -v Reading specs from /cygdrive/f/opt/compilers/GCC343-no-thread/bin/../lib/gcc/i686-pc-cygwin/3.4.3/specs Configured with: ../gcc-3.4.3/configure --prefix=/f/opt/compilers/GCC343 --disable-threads --enable-languages=c,c++ --disable-win32-registry --disable-nls --disable-shared --disable-libstdcxx-debug Thread model: single gcc version 3.4.3 and used this new version of GCC to build boost_1_32_0 and Monotone 0.19, the time for a fresh Monotone source pull went down from 3.6 hours to just over one hour on a 2.0 GHz Pentium4: real: 61m29.420s user: 59m59.593s sys: 0m8.796s Although it is 3.5 times faster than before, this is still twice as slow as the MinGW-built Monotone 0.19 which can do a fresh pull in 33 minutes on this machine. The default version of Cygwin GCC that produced the slow Monotone executable (with the 3.6 hour pull) was configured with these flags: $ g++ -v Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/specs Configured with: /gcc/gcc-3.3.3-3/configure --verbose --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-languages=c,ada,c++,d,f77,java,objc,pascal --enable-nls --without-included-gettext --enable-libgcj --with-system-zlib --enable-interpreter --enable-threads=posix --enable-java-gc=boehm --enable-sjlj-exceptions --disable-version-specific-runtime-libs --disable-win32-registry Thread model: posix gcc version 3.3.3 (cygwin special) The GCC version (3.3 vs 3.4) did not play a factor in my timings. It just appears that any version of libstdc++ built with a posix thread model is very slow under Cygwin. I've read that building GCC with dwarf2 instead of sjlj exceptions would produce even faster code, but when Boost and Monotone were built with such a compiler it would produce an executable that would immediately crash somewhere in libstdc++. __________________________________ Yahoo! Mail Mobile Take Yahoo! Mail with you! Check email on your mobile phone. http://mobile.yahoo.com/learn/mail _______________________________________________ Monotone-devel mailing list Monotone-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/monotone-devel
--- End Message ---