Web lists-archives.com

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 <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: signature.asc
Description: OpenPGP digital signature