alt.hn

6/4/2026 at 5:59:22 AM

A discovery about GCC's unidirectional rotation algorithm

https://devblogs.microsoft.com/oldnewthing/20260603-00/?p=112378

by soheilpro

6/9/2026 at 5:08:46 AM

I thought the cool way to do this was reverse each sub-block in place, and then reverse the whole vector. If you draw a few diagrams you can see that accomplishes the rotation. Yes it moves everything twice, but it has near perfect cache locality, so at least on large blocks tends to be faster than cycle decomposition or other juggling tricks. It's discussed in one of Bentley's "Programming Pearls" books.

by throwaway81523

6/8/2026 at 8:33:51 AM

Looking at this, I feel that while there seem to be many different actual implementations, they really boil down to just a few similar core principles

by jdw64

6/8/2026 at 4:28:05 AM

'Shocking', 'striking', 'disappointing', 'will shock you' -- the article is padded with hyperbole.

by srean

6/8/2026 at 7:26:25 AM

This is obviously humor.

You stopped at the lexicon, check how it's used more thoroughly!

by jraph

6/8/2026 at 7:48:45 AM

Struck by (his) Poes I suppose.

by srean

6/8/2026 at 9:27:26 AM

Happens to the best of us :-)

by jraph

6/8/2026 at 5:38:37 AM

He found that gambling was going on in here!

by DonHopkins

6/8/2026 at 4:31:34 AM

Gee I wonder why Raymond would do that

by saagarjha

6/8/2026 at 6:29:09 AM

I have no context. Was that sarcasm ? I have no idea if this is expected or unexpected of Raymond.

by srean

6/8/2026 at 6:57:11 AM

Try again? You don't really need context here.

Blog said: "As with all shocking discoveries, this one will <strike>shock</strike> disappoint you."

You complained: "'Shocking', 'striking', 'disappointing', 'will shock you' -- the article is padded with hyperbole."

by dataflow

6/8/2026 at 7:27:40 AM

Damn, reader mode doesn't keep the strike, I thought it was an English idiom I didn't know about xD

by jraph

6/8/2026 at 11:51:47 AM

gcc is gone, like clang. Those are c++ abominations. Not worth more than /opt.

Prefer, tinycc, cproc, scc, assembly.

by sylware

6/8/2026 at 12:47:15 PM

Sometimes I want to design a simpler C-like language and build toolchain for it from the scratch, with no historical baggage. Obviously optimization story will be very poor, gcc carries hundreds of super-qualified man-years of optimization work. But I wonder if it'll be that bad. Modern computers are fast.

by vbezhenar

6/8/2026 at 5:50:11 PM

James Gosling beat you to it.

by DonHopkins

6/9/2026 at 11:22:59 AM

cproc/qbe, on my heavy CPU benchmarks (compression), I get 70% of gcc speed (then probably clang). cproc is mostly one person, like qbe.

In other words, on modern CPUs, the fact that such compilers (cproc/qbe is only one alternative, probably near "real-life") are orders of magnitude smaller, are _not_ written in one of the worst computer languages ever (c++), mean that gcc (and clang) is a problem for open source. That's why the people need _lean_ open source now.

Moving gcc to c++ was probably one of the worst mistakes in open source, ever. Basically the only reason I can see for this disaster would be to force gcc devs to deal with this brain damaged computer language to force gcc to have a 'real-life' support of it. Because some critical, for some users, software is c++ written (and that was a mistake in the first place).

That said, the real end game here, is a "wolrdwide standard CPU ISA" with very performant implementations, assembly written software (without abuse of a macro-preprocessor), probably with a set of very high languages interpreters written themselves in assembly. Currently, RISC-V is taking shape, slowly because the "market" is already "saturated" and state of the art production lines are hogged by IP locked ISAs (and mistakes _will_ be made which is going to slow it down even further). In this kind of realm, even ISO will have a hard time generating cycles of computer language syntax planned obsolescence.

by sylware