Сегодня я читал код из очень популярных числовых библиотек, написанных в FORTRAN 77, таких как QUADPACK (last updated in 1987), и мне было интересно, есть ли причина переписывать эти библиотеки в Fortran 90, кроме большого количества работы с учетом больших улучшений Fortran 90, принесенных на язык, включая источник свободной формы, улучшенные структуры управления, поэтому GO TO можно было забыть, векторизовать, интерфейсы и так далее.Являются ли программы FORTRAN 77 быстрее, чем Fortran 90?
Это потому, что компиляторы FORTRAN 77 создают более оптимизированный код, возможно, лучше для параллельного выполнения? Заметьте, что я даже не говорю о Fortran 2003, например 8 лет: Я говорю о Fortran 90, поэтому я предполагаю, что он достаточно распространен, и компиляторы готовы. В любом случае, я не имею связи с этой отраслью.
Edit: janneb прав: LAPACK на самом деле написано в Fortran 90.
Я думаю, что это «большой объем работы, который он поставит» для чего-то, что уже является доказанным соперником. Многие «языковые конструкции более высокого уровня» хороши, но, несмотря на сдвиг парадигмы, они редко приносят пользу. То есть, «код с новым синтаксисом» не подразумевает «лучшую оптимизацию компилятора», и даже F77 (насколько мне больно это признавать) является языком «высокого уровня». –
Эффективные коды Fortran должны придерживаться функций F77 в их ядре для высокой производительности, большинство новых функций обычно приводят к менее эффективным исполняемым файлам. F90 и новее будут в основном полезны для удобства и расширяемости кода. – haraldkl
@haraldkl - Я предполагаю, что у вас есть убедительные доказательства для поддержки таких заявлений? – Rook