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

  • @LeninOnAPrayer@lemm.ee
    link
    fedilink
    English
    0
    edit-2
    17 hours ago

    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?

    • lime!
      link
      fedilink
      English
      0
      edit-2
      15 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.