Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <20240609124032.00004eb1@yahoo.com>
Deutsch   English   Français   Italiano  
<20240609124032.00004eb1@yahoo.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder9.news.weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Michael S <already5chosen@yahoo.com>
Newsgroups: comp.lang.c
Subject: Re: C23 thoughts and opinions
Date: Sun, 9 Jun 2024 12:40:32 +0300
Organization: A noiseless patient Spider
Lines: 57
Message-ID: <20240609124032.00004eb1@yahoo.com>
References: <v2l828$18v7f$1@dont-email.me>
	<v38of2$1gsj2$1@dont-email.me>
	<v39v87$1n7bk$1@dont-email.me>
	<20240530170836.00005fa0@yahoo.com>
	<v3a3k5$1ntrn$1@dont-email.me>
	<20240530180345.00003d9f@yahoo.com>
	<v3chc4$27uij$1@dont-email.me>
	<20240531161937.000063af@yahoo.com>
	<20240531162811.00006719@yahoo.com>
	<20240531164835.00007128@yahoo.com>
	<v3cldt$28n91$2@dont-email.me>
	<20240531173437.00003bee@yahoo.com>
	<v3d3ct$2b5sl$1@dont-email.me>
	<v3d97c$2c6ea$1@dont-email.me>
	<22r6O.5934$xPJ1.2590@fx09.iad>
	<v3t6nu$1liet$1@dont-email.me>
	<v3tlmo$1o860$7@dont-email.me>
	<v427sv$2no3h$1@dont-email.me>
	<v42cs4$2pjrh$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 09 Jun 2024 11:40:18 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="6a2ea81ad9dc1fc6d46f58b03380a32f";
	logging-data="3492441"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19gnEXZX5Sd7+wfmNClmS6FLTAJySHyiFE="
Cancel-Lock: sha1:gwtPKiMX6Y927WBkthl//ewZKxQ=
X-Newsreader: Claws Mail 3.19.1 (GTK+ 2.24.33; x86_64-w64-mingw32)
Bytes: 3830

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

MSVC compilation flags: -O1 -MD
gcc compilation flags: -Oz -s

> Contrast, VS2008 can build programs with binary sizes closer to those
> of GCC.
>