Re: [ANNOUNCEMENT] [Updated] mingw64-{i686,x86_64}-gcc-7.3.0-1 (Test)
On Sun, 26 Aug 2018 12:51:40, JonY wrote: Can you roll back to the previous x86_64-w64-binutils and find out if it makes a difference? Other than that, I'm quite out of ideas. Using this file: $ cat stoi.cpp #include #include main() { std::cout << std::stoi("3.14159") << std::endl; } and these: mingw64-x86_64-gcc-g++ 7.3.0 mingw64-x86_64-gcc-core 7.3.0 and mingw64-x86_64-binutils 2.29.1: $ time x86_64-w64-mingw32-g++ -static stoi.cpp; wc -c a.exe real0m2.337s 11577536 a.exe now with mingw64-x86_64-binutils 2.28.1: $ time x86_64-w64-mingw32-g++ -static stoi.cpp; wc -c a.exe real0m2.300s 11577470 a.exe now with mingw64-x86_64-binutils 2.25.0: $ time x86_64-w64-mingw32-g++ -static stoi.cpp; wc -c a.exe real0m2.350s 11577536 a.exe Going back to my original theory - it seems something is wrong with "libstdc++.a", and has been for some time. Here a summation of the Cygwin versions: Name: libstdc++.a Name: usr\lib\gcc\x86_64-w64-mingw32\7.3.0\ Size: 22 446 354 Name: libstdc++.a Name: usr\lib\gcc\x86_64-w64-mingw32\6.4.0\ Size: 22 066 330 Name: libstdc++.a Name: usr\lib\gcc\x86_64-w64-mingw32\6.3.0\ Size: 22 034 356 Name: libstdc++.a Name: usr\lib\gcc\x86_64-w64-mingw32\5.4.0\ Size: 20 719 186 Compare this with Msys2: Name: libstdc++.a Name: mingw64\lib\gcc\x86_64-w64-mingw32\7.3.0\ Size: 5 596 296 or with Debian: Name: .\usr\lib\gcc\x86_64-w64-mingw32\7.3-posix\ Name: libstdc++.a Size: 5 093 564 Or Ubuntu: Name: .\usr\lib\gcc\x86_64-w64-mingw32\7.3-posix\ Name: libstdc++.a Size: 5 085 236 References: - http://mirror.rit.edu/cygwin/x86_64/release/mingw64-x86_64-gcc/mingw64-x86_64-gcc-g%2b%2b - http://packages.debian.org/buster/g++-mingw-w64-x86-64 - http://packages.ubuntu.com/hu/bionic/g++-mingw-w64-x86-64 - http://repo.msys2.org/mingw/x86_64 -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Re: [ANNOUNCEMENT] [Updated] mingw64-{i686,x86_64}-gcc-7.3.0-1 (Test)
On Sun, 26 Aug 2018 15:07:06, =?UTF-8?Q?Hans-Bernhard_Br=c3=b6ker?= wrote: Am 25.08.2018 um 02:13 schrieb Steven Penny: On Fri, 24 Aug 2018 10:11:42, JonY wrote: $ wc -c /lib/gcc/x86_64-w64-mingw32/7.3.0/libstdc++.a 22446354 /lib/gcc/x86_64-w64-mingw32/7.3.0/libstdc++.a $ wc -c mingw64/lib/gcc/x86_64-w64-mingw32/8.2.0/libstdc++.a 5597192 mingw64/lib/gcc/x86_64-w64-mingw32/8.2.0/libstdc++.a And it is of course totally out of the question that this difference could be caused by these being different major versions of GCC, right? next time before you post such a comment on a public forum, you might actually check that you know what youre talking about beforehand. $ wc -c mingw64/lib/gcc/x86_64-w64-mingw32/7.3.0/libstdc++.a 5596296 mingw64/lib/gcc/x86_64-w64-mingw32/7.3.0/libstdc++.a cheers -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Re: [ANNOUNCEMENT] [Updated] mingw64-{i686,x86_64}-gcc-7.3.0-1 (Test)
Am 25.08.2018 um 02:13 schrieb Steven Penny: On Fri, 24 Aug 2018 10:11:42, JonY wrote: $ wc -c /lib/gcc/x86_64-w64-mingw32/7.3.0/libstdc++.a 22446354 /lib/gcc/x86_64-w64-mingw32/7.3.0/libstdc++.a $ wc -c mingw64/lib/gcc/x86_64-w64-mingw32/8.2.0/libstdc++.a 5597192 mingw64/lib/gcc/x86_64-w64-mingw32/8.2.0/libstdc++.a And it is of course totally out of the question that this difference could be caused by these being different major versions of GCC, right? -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Re: [ANNOUNCEMENT] [Updated] mingw64-{i686,x86_64}-gcc-7.3.0-1 (Test)
On 08/25/2018 12:13 AM, Steven Penny wrote: > On Fri, 24 Aug 2018 10:11:42, JonY wrote: >> Can you try breaking it down by phases? >> 1. Preprocessor phase with -E -o file.ii > > $ time x86_64-w64-mingw32-g++ -E -o file.ii stoi.cpp; wc -c file.ii > real 0m0.172s > 719550 file.ii > >> 2. Compile phase (compile output from phase 1) with -c > > $ time x86_64-w64-mingw32-g++ -c file.ii; wc -c file.o > real 0m0.312s > 7368 file.o > >> 3. Link phase, point gcc to the output from phase 2. > > $ time x86_64-w64-mingw32-g++ -static file.o; wc -c a.exe > real 0m1.950s > 11906797 a.exe > > Also it might be worth noting the starting point - for some reason > Cygwin is 4 > times larger than Msys2? > > $ wc -c /lib/gcc/x86_64-w64-mingw32/7.3.0/libstdc++.a > 22446354 /lib/gcc/x86_64-w64-mingw32/7.3.0/libstdc++.a > > $ wc -c mingw64/lib/gcc/x86_64-w64-mingw32/8.2.0/libstdc++.a > 5597192 mingw64/lib/gcc/x86_64-w64-mingw32/8.2.0/libstdc++.a > Can you roll back to the previous x86_64-w64-binutils and find out if it makes a difference? Other than that, I'm quite out of ideas. signature.asc Description: OpenPGP digital signature
Re: [ANNOUNCEMENT] [Updated] mingw64-{i686,x86_64}-gcc-7.3.0-1 (Test)
On Fri, 24 Aug 2018 10:11:42, JonY wrote: Can you try breaking it down by phases? 1. Preprocessor phase with -E -o file.ii $ time x86_64-w64-mingw32-g++ -E -o file.ii stoi.cpp; wc -c file.ii real0m0.172s 719550 file.ii 2. Compile phase (compile output from phase 1) with -c $ time x86_64-w64-mingw32-g++ -c file.ii; wc -c file.o real0m0.312s 7368 file.o 3. Link phase, point gcc to the output from phase 2. $ time x86_64-w64-mingw32-g++ -static file.o; wc -c a.exe real0m1.950s 11906797 a.exe Also it might be worth noting the starting point - for some reason Cygwin is 4 times larger than Msys2? $ wc -c /lib/gcc/x86_64-w64-mingw32/7.3.0/libstdc++.a 22446354 /lib/gcc/x86_64-w64-mingw32/7.3.0/libstdc++.a $ wc -c mingw64/lib/gcc/x86_64-w64-mingw32/8.2.0/libstdc++.a 5597192 mingw64/lib/gcc/x86_64-w64-mingw32/8.2.0/libstdc++.a -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Re: [ANNOUNCEMENT] [Updated] mingw64-{i686,x86_64}-gcc-7.3.0-1 (Test)
On 08/21/2018 03:18 AM, Steven Penny wrote: > On Wed, 18 Jul 2018 10:38:22, JonY wrote: >> The mingw-w64 cross compilers have been updated: >> >> * mingw64-i686-gcc-7.3.0-1 >> * mingw64-x86_64-gcc-7.3.0-1 >> >> It is available under the test version. > > http://cygwin.com/ml/cygwin/2018-07/msg00168.html > > Using this file: > > $ cat stoi.cpp > #include > #include > main() { > std::string q = "23456"; > std::cout << std::stoi(q) << std::endl; > } > > I have noticed an issue with the Cygwin "x86_64-w64-mingw32-g++" > compiler. If I > strip the executable, all is well: > > $ time x86_64-w64-mingw32-g++ -s -static-libstdc++ stoi.cpp; wc -c a.exe > real 0m0.889s > 845824 a.exe > > Same with Msys2: > > # time x86_64-w64-mingw32-g++ -s -static-libstdc++ stoi.cpp; wc -c a.exe > real 0m0.718s > 835584 a.exe > > However if I do not strip the executable, the compile time nearly > triples and > the size increases 10 fold: > > $ time x86_64-w64-mingw32-g++ -static-libstdc++ stoi.cpp; wc -c a.exe > real 0m2.340s > 11695660 a.exe > > Compare with Msys2, where the time only increases 17%, and the size only > increases 3 fold: > > # time x86_64-w64-mingw32-g++ -static-libstdc++ stoi.cpp; wc -c a.exe > real 0m0.842s > 3001138 a.exe Can you try breaking it down by phases? 1. Preprocessor phase with -E -o file.ii 2. Compile phase (compile output from phase 1) with -c 3. Link phase, point gcc to the output from phase 2. signature.asc Description: OpenPGP digital signature
Re: [ANNOUNCEMENT] [Updated] mingw64-{i686,x86_64}-gcc-7.3.0-1 (Test)
On Wed, 18 Jul 2018 10:38:22, JonY wrote: The mingw-w64 cross compilers have been updated: * mingw64-i686-gcc-7.3.0-1 * mingw64-x86_64-gcc-7.3.0-1 It is available under the test version. http://cygwin.com/ml/cygwin/2018-07/msg00168.html Using this file: $ cat stoi.cpp #include #include main() { std::string q = "23456"; std::cout << std::stoi(q) << std::endl; } I have noticed an issue with the Cygwin "x86_64-w64-mingw32-g++" compiler. If I strip the executable, all is well: $ time x86_64-w64-mingw32-g++ -s -static-libstdc++ stoi.cpp; wc -c a.exe real0m0.889s 845824 a.exe Same with Msys2: # time x86_64-w64-mingw32-g++ -s -static-libstdc++ stoi.cpp; wc -c a.exe real0m0.718s 835584 a.exe However if I do not strip the executable, the compile time nearly triples and the size increases 10 fold: $ time x86_64-w64-mingw32-g++ -static-libstdc++ stoi.cpp; wc -c a.exe real0m2.340s 11695660 a.exe Compare with Msys2, where the time only increases 17%, and the size only increases 3 fold: # time x86_64-w64-mingw32-g++ -static-libstdc++ stoi.cpp; wc -c a.exe real0m0.842s 3001138 a.exe -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple