Ancestors

Written by Max S. New ⚜️ on 2025-01-29 at 14:46

When I first learned to program, I though imperative programming was "closer to the machine" than functional programming because you update variables just like you do registers in assembly.

Later I learned that modern optimizing compilers completely throw away all of your source-level variable mutation by translating to a functional intermediate language (SSA) and then decide for themselves how to store your variables.

=> More informations about this toot | More toots from maxsnew@types.pl

Written by Nathan Corbyn on 2025-01-29 at 14:52

@maxsnew even better, modern computer architectures have many many more registers than the architecture advertises and are constantly ignoring the register names in machine code in order to exploit instruction level parallelism. In effect, they make register-based computation stateless, even if your compiler hasn’t!

=> More informations about this toot | More toots from antidote@mathstodon.xyz

Toot

Written by HarrisonGrodin on 2025-01-29 at 14:57

@antidote @maxsnew And a more modern solution: just use de Bruijn indices! https://ieeexplore.ieee.org/document/8574536

Typically, conventional superscalar processors improve this performance by introducing out-of-order (OoO) execution with register renaming. However, it is also known to increase the complexity and affect the power efficiency. This paper realizes a novel computer architecture called "STRAIGHT" to resolve this dilemma. The key feature is a unique instruction format in which the source operand is given based on the distance from the producer instruction. By leveraging this format, register renaming is completely removed from the pipeline.

(Register renaming is α-renaming!)

=> More informations about this toot | More toots from HarrisonGrodin@mathstodon.xyz

Descendants

Written by Aaron Sawdey, Ph.D. on 2025-01-30 at 06:02

@HarrisonGrodin @antidote @maxsnew This sounds lovely for compiler writers 😐

=> More informations about this toot | More toots from acsawdey@fosstodon.org

Written by Colin the Mathmo on 2025-01-30 at 16:59

Hope you don't mind, I'd like to save this conversation for later so I can learn more, so I've charted it ...

Calling @Chartodon spine ...

CC: @acsawdey @HarrisonGrodin @antidote @maxsnew

=> More informations about this toot | More toots from ColinTheMathmo@mathstodon.xyz

Written by Chartodon on 2025-01-30 at 17:02

@ColinTheMathmo

Your chart is ready, and can be found here:

https://www.solipsys.co.uk/Chartodon/113918369538567659.svg

Things may have changed since I started compiling that, and some things may have been inaccessible.

In particular, the very nature of the fediverse means some toots may never have made it to my instance, in which case I can't see them, and can't include them.

The chart will eventually be deleted, so if you'd like to keep it, make sure you download a copy.

=> More informations about this toot | More toots from Chartodon@mathstodon.xyz

Proxy Information
Original URL
gemini://mastogem.picasoft.net/thread/113912226976774643
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
310.866764 milliseconds
Gemini-to-HTML Time
2.165955 milliseconds

This content has been proxied by September (3851b).