Deutsch   English   Français   Italiano  
<vbraue$3evhl$1@dont-email.me>

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

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Brett <ggtgp@yahoo.com>
Newsgroups: comp.arch
Subject: Re: Computer architects leaving Intel...
Date: Wed, 11 Sep 2024 05:47:59 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 53
Message-ID: <vbraue$3evhl$1@dont-email.me>
References: <vaunhb$vckc$1@dont-email.me>
 <vautmu$vr5r$1@dont-email.me>
 <2024Aug31.170347@mips.complang.tuwien.ac.at>
 <vavpnh$13tj0$2@dont-email.me>
 <vb00c2$150ia$1@dont-email.me>
 <505954890d8461c1f4082b1beecd453c@www.novabbs.org>
 <vb0kh2$12ukk$1@dont-email.me>
 <vb3smg$1ta6s$1@dont-email.me>
 <vb4q5o$12ukk$3@dont-email.me>
 <vb6a16$38aj5$1@dont-email.me>
 <vb7evj$12ukk$4@dont-email.me>
 <vb8587$3gq7e$1@dont-email.me>
 <vb91e7$3o797$1@dont-email.me>
 <vb9eeh$3q993$1@dont-email.me>
 <vb9l7k$3r2c6$2@dont-email.me>
 <vba26l$3te44$1@dont-email.me>
 <vbag2s$3vhih$1@dont-email.me>
 <vbbnf9$8j04$1@dont-email.me>
 <vbbsl4$9hdg$1@dont-email.me>
 <vbcbob$bd22$3@dont-email.me>
 <vbcob9$dvp4$1@dont-email.me>
 <vbd174$eulp$1@dont-email.me>
 <vbm67e$2apse$1@dont-email.me>
 <vbmkln$2cmfo$1@dont-email.me>
 <vbni3u$2h7pp$1@dont-email.me>
 <vbp3jl$2subi$1@dont-email.me>
 <vbq1kl$33csc$1@dont-email.me>
 <20240910223411.00002afe@yahoo.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 11 Sep 2024 07:47:59 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="5801b7dc5e53c29299cbd903122a4f67";
	logging-data="3636789"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX199znSPhcmEhos6j/+9XV5w"
User-Agent: NewsTap/5.5 (iPad)
Cancel-Lock: sha1:vbqZKeWXWzFpu+3AigPXHOuJj1I=
	sha1:r6PGCbCT43TvQxXABZmLmjUjX/o=
Bytes: 4091

Michael S <already5chosen@yahoo.com> wrote:
> On Tue, 10 Sep 2024 18:03:01 -0000 (UTC)
> Brett <ggtgp@yahoo.com> wrote:
> 
>> Terje Mathisen <terje.mathisen@tmsw.no> wrote:
>>> Brett wrote:  
>>>> David Brown <david.brown@hesbynett.no> wrote:  
>>>>> Often you get the most efficient results by writing code clearly
>>>>> and simply so that the compiler can understand it better and good
>>>>> object code.  This is particularly true if you want the same
>>>>> source to be used on different targets or different variants of a
>>>>> target - few people can track the instruction scheduling and
>>>>> timings on multiple processors better than a good compiler.  (And
>>>>> the few people who /can/ do that spend their time chatting in
>>>>> comp.arch instead of writing code...)  When you do hand-made
>>>>> micro-optimisations, these can work against the compiler and give
>>>>> poorer results overall.  
>>>> 
>>>> I know of no example where hand optimized code does worse on a
>>>> newer CPU. A newer CPU with bigger OoOe will effectively unroll
>>>> your code and schedule it even better.  
>>> 
>>> Not true:
>>> 
>>> My favorite benchmark program for 20+ years was Word Count, I 
>>> re-optimized that for every new x86 generation, and on the Pentium
>>> I got it to run at 1.5 clock cycles per character (40 MB/s on a 60
>>> MHz Pentium).
>>> 
>>> When the PentiumPro came out, it did a 10-20 cycle stall for every
>>> pair of characters, so about an order of magnitude slower in cycle
>>> count. (But only about 3X clock time due to being 200 instead of 60
>>> MHz.)  
>> 
>> But how big a slowdown did the unoptimized code get?
>> 
>> Are you describing a glass jaw handling unpredictable branches on a
>> CPU with a much longer pipeline?
> 
> No, the glass jaw of PPro described by Terje is known as partial
> register stall.

That is an exception that proves the rule. ;)

>> A shorter pipeline with better worst case handling is going to do
>> better, even if older. Intel was going for high clock benchmark
>> speed, not performance.
>> 
> 
> Typically, PPro was much faster than Pentium clock-for-clock,
> especially so when running 32-bit software.
> But it had few weak points.