3 ms·
I hear tell that a lot of the places where modern Fortran shows up are contexts where faster-than-C performance is desirable.
by cxr 7y ago
I hear tell that a lot of the places where modern Fortran shows up are contexts where faster-than-C performance is desirable.
- agumonkey 7y agoBut that's plausibly the compiler doing its magic. Or is there anything in Fortran language/semantics that maps close to vectorized ISAs ?
- mywittyname 7y agoA company I used to work for has spent 30 years trying to migrate FORTRAN code to C. I was not involved in the project, so I don't know the details, but the gist of what I was told is that there are edge cases where FORTRAN stomps C in every performance metric. So you can make decent progress for a while, but you'll eventually hit a major roadblock that halts progress.
- _never_k 7y agoI think of the BLAS algos as being very Fortran friendly, and the Fortran references never _out_perform the C implementations. (The asm implementations are of course the best.) Be curious to know what you're thinking of here.
- setpatchaddress 7y agoI've no personal experience, but people historically point to pointer aliasing as the primary thing that speeds up Fortran code vs C. https://en.wikipedia.org/wiki/Pointer_aliasing https://en.wikipedia.org/wiki/Pointer_aliasing
- agumonkey 7y agoNo personal experience either but discussing with people invested in high perf C, they said that `restrict` was enough to avoid aliasing issues.