* [ANNOUNCEMENT] [Updated] mingw64-{i686,x86_64}-gcc-7.3.0-1 (Test)
@ 2018-07-18 23:52 JonY
2018-08-21 15:16 ` Steven Penny
0 siblings, 1 reply; 8+ messages in thread
From: JonY @ 2018-07-18 23:52 UTC (permalink / raw)
To: cygwin
[-- Attachment #1.1: Type: text/plain, Size: 718 bytes --]
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.
*** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***
If you want to unsubscribe from the cygwin-announce mailing list, look
at the "List-Unsubscribe: " tag in the email header of this message.
Send email to the address specified there. It will be in the format:
cygwin-announce-unsubscribe-you=yourdomain.com <at> cygwin.com
If you need more information on unsubscribing, start reading here:
http://sourceware.org/lists.html#unsubscribe-simple
Please read *all* of the information on unsubscribing that is available
starting at this URL.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [ANNOUNCEMENT] [Updated] mingw64-{i686,x86_64}-gcc-7.3.0-1 (Test)
2018-07-18 23:52 [ANNOUNCEMENT] [Updated] mingw64-{i686,x86_64}-gcc-7.3.0-1 (Test) JonY
@ 2018-08-21 15:16 ` Steven Penny
2018-08-24 19:06 ` JonY
0 siblings, 1 reply; 8+ messages in thread
From: Steven Penny @ 2018-08-21 15:16 UTC (permalink / raw)
To: cygwin
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 <iostream>
#include <string>
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
--
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [ANNOUNCEMENT] [Updated] mingw64-{i686,x86_64}-gcc-7.3.0-1 (Test)
2018-08-21 15:16 ` Steven Penny
@ 2018-08-24 19:06 ` JonY
2018-08-25 4:55 ` Steven Penny
0 siblings, 1 reply; 8+ messages in thread
From: JonY @ 2018-08-24 19:06 UTC (permalink / raw)
To: cygwin
[-- Attachment #1.1: Type: text/plain, Size: 1643 bytes --]
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 <iostream>
> #include <string>
> 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.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [ANNOUNCEMENT] [Updated] mingw64-{i686,x86_64}-gcc-7.3.0-1 (Test)
2018-08-24 19:06 ` JonY
@ 2018-08-25 4:55 ` Steven Penny
2018-08-26 14:04 ` JonY
2018-08-26 15:17 ` Hans-Bernhard Bröker
0 siblings, 2 replies; 8+ messages in thread
From: Steven Penny @ 2018-08-25 4:55 UTC (permalink / raw)
To: cygwin
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
--
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [ANNOUNCEMENT] [Updated] mingw64-{i686,x86_64}-gcc-7.3.0-1 (Test)
2018-08-25 4:55 ` Steven Penny
@ 2018-08-26 14:04 ` JonY
2018-08-27 3:32 ` Steven Penny
2018-08-26 15:17 ` Hans-Bernhard Bröker
1 sibling, 1 reply; 8+ messages in thread
From: JonY @ 2018-08-26 14:04 UTC (permalink / raw)
To: cygwin
[-- Attachment #1.1: Type: text/plain, Size: 1207 bytes --]
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.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [ANNOUNCEMENT] [Updated] mingw64-{i686,x86_64}-gcc-7.3.0-1 (Test)
2018-08-25 4:55 ` Steven Penny
2018-08-26 14:04 ` JonY
@ 2018-08-26 15:17 ` Hans-Bernhard Bröker
2018-08-26 21:41 ` Steven Penny
1 sibling, 1 reply; 8+ messages in thread
From: Hans-Bernhard Bröker @ 2018-08-26 15:17 UTC (permalink / raw)
To: cygwin
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [ANNOUNCEMENT] [Updated] mingw64-{i686,x86_64}-gcc-7.3.0-1 (Test)
2018-08-26 15:17 ` Hans-Bernhard Bröker
@ 2018-08-26 21:41 ` Steven Penny
0 siblings, 0 replies; 8+ messages in thread
From: Steven Penny @ 2018-08-26 21:41 UTC (permalink / raw)
To: cygwin
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [ANNOUNCEMENT] [Updated] mingw64-{i686,x86_64}-gcc-7.3.0-1 (Test)
2018-08-26 14:04 ` JonY
@ 2018-08-27 3:32 ` Steven Penny
0 siblings, 0 replies; 8+ messages in thread
From: Steven Penny @ 2018-08-27 3:32 UTC (permalink / raw)
To: cygwin
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 <iostream>
#include <string>
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
real 0m2.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
real 0m2.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
real 0m2.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
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-08-26 15:17 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-18 23:52 [ANNOUNCEMENT] [Updated] mingw64-{i686,x86_64}-gcc-7.3.0-1 (Test) JonY
2018-08-21 15:16 ` Steven Penny
2018-08-24 19:06 ` JonY
2018-08-25 4:55 ` Steven Penny
2018-08-26 14:04 ` JonY
2018-08-27 3:32 ` Steven Penny
2018-08-26 15:17 ` Hans-Bernhard Bröker
2018-08-26 21:41 ` Steven Penny
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).