pphantom: (Default)
pphantom ([personal profile] pphantom) wrote2009-11-16 01:30 am

Intel Fortran и gFortran

Обнаружил, что есть как минимум одна языковая деталь, при работе с которой интеловский компилятор проигрывает GNU'тому. Собственно, подозрения возникали и раньше, но сейчас они окончательно подтвердились.

Интеловский компилятор не умеет нормально обрабатывать рекурсию. Хвостовую - еще более-менее нормально, а вот в общем случае код получается весьма неэффективным. Правда, в вычислительных задачах рекурсия не особо нужна (и при необходимости ее обычно можно легко убрать), но все-таки печально.

Re: оффтоп

[identity profile] pphantom.livejournal.com 2009-12-09 10:37 pm (UTC)(link)
Есть несколько подходящих механизмов. Ну, например, так:
program qq
  implicit none
  character :: c
  integer :: i
  open(unit=1,file="data.txt",form="binary",recl=1)
  do i=1,100
     read(1) c
     print *,c
  end do
  close(1)
end program qq


Другое дело, что подобная потребность на Фортране несколько противоестественна. Обработку текстовых файлов лучше писать на чем-то другом. :)