Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Michael S Newsgroups: comp.lang.c Subject: Re: C23 thoughts and opinions Date: Sun, 26 May 2024 23:26:51 +0300 Organization: A noiseless patient Spider Lines: 35 Message-ID: <20240526232651.00002d2e@yahoo.com> References: <00297443-2fee-48d4-81a0-9ff6ae6481e4@gmail.com> <87msoh5uh6.fsf@nosuchdomain.example.com> <87y18047jk.fsf@nosuchdomain.example.com> <87msoe1xxo.fsf@nosuchdomain.example.com> <87ikz11osy.fsf@nosuchdomain.example.com> <20240526161832.000012a6@yahoo.com> <20240526193549.000031a8@yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Injection-Date: Sun, 26 May 2024 22:27:00 +0200 (CEST) Injection-Info: dont-email.me; posting-host="32436bddce982ee270fe47360b36af62"; logging-data="3755666"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18rhxFDP7Lw7S3wbAG+w0hdEo9IJq3iEho=" Cancel-Lock: sha1:D/Qe2c16MzBO3WM2OqsDy4dljoA= X-Newsreader: Claws Mail 4.1.1 (GTK 3.24.34; x86_64-w64-mingw32) Bytes: 2652 On Sun, 26 May 2024 19:01:21 +0100 bart wrote: > On 26/05/2024 17:35, Michael S wrote: > > On Sun, 26 May 2024 16:25:51 +0100 > > bart wrote: > > > > > >> > >> Back to the 5MB test: > >> > >> Tiny C 1.7s 2.9MB/sec (Tcc doesn't use any IR) > >> > >> mcc 3.7s 1.3MB/sec (my product; uses intermediate > >> ASM) > > > > Faster than new MSVC, but slower than old MSVC. > > My mcc is never going to be fast, because it uses ASM, which itself > will generate a text file several times larger than the C (so the > line "123," in C ends up as " db 123" in the ASM file). > Generation of asm at 7-8 MB/s sounds feasible even on slow computer. And once you have asm in right format, 'gnu as' processes it quite fast. On faster computer I had seen ~30 MB/s. I'd guess the slower one should be able to do it at 15 MB/s. So, generation+assembling together could run at ~5 MB/s. The trick here is to use format that 'gnu as' was optimized for. To know what it is, look at the output of gcc -S.