this post was submitted on 15 May 2025
452 points (98.5% liked)

Programmer Humor

23301 readers
1860 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 

(Please don't lob rocks at me. I love Python.)

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 4 points 23 hours ago* (last edited 23 hours ago) (1 children)

Interesting. Is this a fundamental limitation of C or is it just more preferable and easier to use FORTRAN when implementing it?

Meaning could the same performance be achieved in C but most optimized libraries are already written so why bother? Or basically C can't achieve the memory optimization at all?

[โ€“] [email protected] 6 points 21 hours ago* (last edited 21 hours ago)

you can get the same performance by using the restrict keyword in C.

basically, C allows pointer aliasing while fortran does not, which means C programs need to be able to handle cases when a value is accessed from multiple locations. fortran does not, so a lot of accesses can be optimized into immediates, or unrolled without guards.

restrict is a pinky-promise to the compiler that no overlapping takes place, e.g. that a value will only be accessed from one place. it's basically rust ownership semantics without enforcement.