Re: C23 thoughts and opinions

Liste des GroupesRevenir à cl c 
Sujet : Re: C23 thoughts and opinions
De : already5chosen (at) *nospam* yahoo.com (Michael S)
Groupes : comp.lang.c
Date : 09. Jun 2024, 12:12:39
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <20240609141239.00006be6@yahoo.com>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
User-Agent : Claws Mail 3.19.1 (GTK+ 2.24.33; x86_64-w64-mingw32)
On Sun, 9 Jun 2024 11:20:11 +0100
bart <bc@freeuk.com> wrote:

On 09/06/2024 10:40, Michael S wrote:
On Sat, 8 Jun 2024 14:52:26 -0500
BGB <cr88192@gmail.com> wrote:
 
On 6/8/2024 1:28 PM, Malcolm McLean wrote: 
On 07/06/2024 01:53, Lawrence D'Oliveiro wrote: 
On Thu, 6 Jun 2024 15:38:21 -0500, BGB-Alt wrote:
   
*2: Seemingly the main way I am aware of to get small binaries
is to use an older version of MSVC (such as 6.0 to 9.0), as the
binary-bloat started to get much more obvious around Visual
Studio 2010, but is less of an issue with VS2005 or VS2008. 
>
Newer version of proprietary compiler generates worse code than
older version?!? 
If the code is calling extern gunctions that do IO, we woul expect
these to be massively more sophisticated on a modern ststem Witha
little comouter, pribtf just wtites acharacter raster and
utimalthe he Os picks the up and flushes it out to a pixel
raster. And that' aal it's doing. Whilst on a modrern syste,
stdout can do whole lot of intricate things. 
>
That is a whole lot of typos...
>
>
But, even if it is built calling MSVCRT as a DLL (rather than
static linked), modern MSVC is still the worst of the bunch in
this area.
>
A build as RISC-V + PIE with a static-linked C library still
manages to be smaller than an x64 build via MSVC with entirely
dynamic-linked libraries.
>
And, around 72% bigger than the same program built as a
dynamic-linked binary with "GCC -O3" (while also often still being
around 40% slower).
 
 
GCC on Windows or on Linux?
In my experience, gcc on Windows (ucrt64 variant, other gcc variants
are worse) very consistently produces bigger (stripped) exe than
even latest MSVCs which, as you correctly stated, are not as good
as older versions at producing small code.
 
The size of 'Hello, world' program (x86-64, dynamically linked C
RTL) vs2013 - 6,144 bytes
vs2019 - 9,216 bytes
gcc (Debian Linux, -no-pie) - 14,400 bytes
gcc (Debian Linux) - 14,472 bytes
gcc (ucrt64 DLL) - 18,432 bytes
gcc (old DLL) - 42,496 bytes 
 
I get a lot worse than that:
 
    C:\c>gcc hello.c 
 
    C:\c>dir a.exe 
    09/06/2024  11:04           367,349 a.exe
 
    C:\c>gcc hello.c -s -Os 
 
    C:\c>dir a.exe 
    09/06/2024  11:04            88,064 a.exe
 
(It didn't like -Oz; did you mean something other than -Os?)
 

No, I meant -Oz.
It was invented by clang, but newer gcc understand it.
I don't know what is a difference exactly, but -Oz tends to be a little
smaller.
In program as trivial as this, there should be no difference.

Both import msvcrt.dll. gcc is version 10.3.0.
>

My gcc variants are from msys2.
Where did you get yours?

tcc gives 2KB, and mcc gives 2.5KB.
 

x86-64 or i386?
I think, on i386 VC5 can come close, but can not match it.
I don't have VC5 right now. Last time I tried to find it it was
surprisingly hard.
Well, probably I still has it on one very old PC that I didn't power up
for many years. I don't know if it is still alive.

(With the latter, I know it is because it uses a comprises 5 blocks
of data each of which is at least 512 bytes: 2 for header stuff, plus
always 3 segments. The mininum hello.exe size I think is 700 bytes if
a few corners are cut.)
 
367KB sounds astonishing, but the first time I tried Dart, it gave me
a 5MB executable for 'hello.dart'.

golang tend to start at >1.5MB, but then it grows very slowly. It
appears to generate *very* self-contained executives. At least I
personally never encountered case where simple copy of exe to new
computer was insufficient.
Considering that go needs much more of run-time support than dart, I
can't find any reason for 5MB except "they don't care".


Date Sujet#  Auteur
31 May 24 * Re: C23 thoughts and opinions73bart
31 May 24 +* Re: C23 thoughts and opinions67Michael S
31 May 24 i+* Re: C23 thoughts and opinions65Michael S
31 May 24 ii`* Re: C23 thoughts and opinions64Michael S
31 May 24 ii `* Re: C23 thoughts and opinions63bart
31 May 24 ii  `* Re: C23 thoughts and opinions62Michael S
31 May 24 ii   `* Re: C23 thoughts and opinions61bart
31 May 24 ii    +* Re: C23 thoughts and opinions39jak
31 May 24 ii    i+- Re: C23 thoughts and opinions1bart
6 Jun 24 ii    i`* Re: C23 thoughts and opinions37BGB-Alt
7 Jun 24 ii    i +* Re: C23 thoughts and opinions32Lawrence D'Oliveiro
7 Jun 24 ii    i i+* Re: C23 thoughts and opinions15BGB-Alt
8 Jun 24 ii    i ii`* Re: C23 thoughts and opinions14Lawrence D'Oliveiro
8 Jun 24 ii    i ii +* Re: C23 thoughts and opinions11BGB
8 Jun 24 ii    i ii i+- Re: C23 thoughts and opinions1Lawrence D'Oliveiro
13 Jun 24 ii    i ii i`* Re: C23 thoughts and opinions9Bonita Montero
13 Jun 24 ii    i ii i `* Re: C23 thoughts and opinions8BGB
14 Jun 24 ii    i ii i  `* Re: C23 thoughts and opinions7Bonita Montero
14 Jun 24 ii    i ii i   `* Re: C23 thoughts and opinions6BGB
14 Jun 24 ii    i ii i    +* Re: C23 thoughts and opinions2Bonita Montero
14 Jun 24 ii    i ii i    i`- Re: C23 thoughts and opinions1BGB
15 Jun 24 ii    i ii i    `* Re: C23 thoughts and opinions3Lawrence D'Oliveiro
16 Jun 24 ii    i ii i     `* Re: C23 thoughts and opinions2BGB
16 Jun 24 ii    i ii i      `- Re: C23 thoughts and opinions1Lawrence D'Oliveiro
9 Jun 24 ii    i ii +- Re: C23 thoughts and opinions1Lawrence D'Oliveiro
9 Jun 24 ii    i ii `- Re: C23 thoughts and opinions1Michael S
8 Jun 24 ii    i i`* Re: C23 thoughts and opinions16Malcolm McLean
8 Jun 24 ii    i i +* Re: C23 thoughts and opinions14BGB
9 Jun 24 ii    i i i`* Re: C23 thoughts and opinions13Michael S
9 Jun 24 ii    i i i +* Re: C23 thoughts and opinions11bart
9 Jun 24 ii    i i i i`* Re: C23 thoughts and opinions10Michael S
9 Jun 24 ii    i i i i +- Re: C23 thoughts and opinions1Michael S
9 Jun 24 ii    i i i i +* Re: C23 thoughts and opinions7bart
9 Jun 24 ii    i i i i i`* Re: C23 thoughts and opinions6Michael S
9 Jun 24 ii    i i i i i `* Re: C23 thoughts and opinions5bart
9 Jun 24 ii    i i i i i  `* Re: C23 thoughts and opinions4Michael S
9 Jun 24 ii    i i i i i   `* Re: C23 thoughts and opinions3bart
9 Jun 24 ii    i i i i i    `* Re: C23 thoughts and opinions2Michael S
10 Jun 24 ii    i i i i i     `- Re: C23 thoughts and opinions1bart
11 Jun 24 ii    i i i i `- Re: C23 thoughts and opinions1Lawrence D'Oliveiro
10 Jun 24 ii    i i i `- Re: C23 thoughts and opinions1BGB
9 Jun 24 ii    i i `- Re: C23 thoughts and opinions1Lawrence D'Oliveiro
7 Jun 24 ii    i `* Re: C23 thoughts and opinions4BGB
7 Jun 24 ii    i  `* Re: C23 thoughts and opinions3Lawrence D'Oliveiro
7 Jun 24 ii    i   `* Re: C23 thoughts and opinions2BGB
7 Jun 24 ii    i    `- Re: C23 thoughts and opinions1BGB
31 May 24 ii    +* Re: C23 thoughts and opinions19bart
1 Jun 24 ii    i+* Re: C23 thoughts and opinions4jak
1 Jun 24 ii    ii`* Re: C23 thoughts and opinions3bart
1 Jun 24 ii    ii `* Re: C23 thoughts and opinions2jak
2 Jun 24 ii    ii  `- Re: C23 thoughts and opinions1Tim Rentsch
1 Jun 24 ii    i+* Re: C23 thoughts and opinions10bart
1 Jun 24 ii    ii+* Re: C23 thoughts and opinions5Tim Rentsch
1 Jun 24 ii    iii+- Re: C23 thoughts and opinions1Michael S
2 Jun 24 ii    iii`* Re: C23 thoughts and opinions3Tim Rentsch
6 Jun 24 ii    iii `* objcopy -I binary etc... Was: C23 thoughts and opinions2Michael S
6 Jun 24 ii    iii  `- Re: objcopy -I binary etc... Was: C23 thoughts and opinions1Tim Rentsch
1 Jun 24 ii    ii+- Re: C23 thoughts and opinions1David Brown
1 Jun 24 ii    ii+* Re: C23 thoughts and opinions2bart
4 Jun 24 ii    iii`- Re: C23 thoughts and opinions1Lawrence D'Oliveiro
4 Jun 24 ii    ii`- Re: Correct objcopy Usage (was Re: C23 thoughts and opinions)1Lawrence D'Oliveiro
1 Jun 24 ii    i`* Re: C23 thoughts and opinions4Michael S
2 Jun 24 ii    i +* Re: C23 thoughts and opinions2bart
2 Jun 24 ii    i i`- Re: C23 thoughts and opinions1Michael S
6 Jun 24 ii    i `- Re: C23 thoughts and opinions1Michael S
1 Jun 24 ii    `* Re: C23 thoughts and opinions2Michael S
2 Jun 24 ii     `- Re: C23 thoughts and opinions1Tim Rentsch
31 May 24 i`- Re: C23 thoughts and opinions1bart
31 May 24 +- Re: C23 thoughts and opinions1Kaz Kylheku
31 May 24 +- Re: C23 thoughts and opinions1Malcolm McLean
1 Jun 24 `* Re: C23 thoughts and opinions3Malcolm McLean
1 Jun 24  `* Re: C23 thoughts and opinions2bart
1 Jun 24   `- Re: C23 thoughts and opinions1Malcolm McLean

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal