4 ms·
and I'm sure pure Fortran would be even faster
by flamedoge 10y ago
and I'm sure pure Fortran would be even faster
- eru 10y agoThat's mostly because of Fortran doesn't have the same aliasing trouble as C?
- flamedoge 10y agoPointer indirection is expensive tradeoff for flexibility
- deleted 10y ago[deleted]
- alfalfasprout 10y agoEh, doubtful. Sure, it'll be faster than unoptimized C. But when you observe strict aliasing rules in C a modern compiler will generally produce similar quality assembly for both languages. The reason BLAS is so fast is that every single line of code in a hot loop has been hand-optimized and tons of CPU-specific optimizations exist Fortran yields some of the fastest code out of the box, yes, but C/C++ can yield equivalent performance by adhering to certain basic rules.
- flamedoge 10y agoEven with strict aliasing, the only way C/C++ standard effectively lets one type to be cast to another is incurring a copy. Tell me what can be done better for performance in C that can't be done in Fortran or "another static language without pointer indirection".