Tôi có câu hỏi sau đây: Chi phí thực sự của phân bổ/deallocate báo cáo trong Fortran90 + là gì? Tức là, một số mảng vừa được phân bổ bên trong một vòng lặp, nhưFortran phân bổ/deallocate
do i = 1, 1000
allocate(tmp(20))
tmp(1:20) = 1d0
call foo(tmp)
deallocate(tmp)
end do
Có đáng phân bổ một mảng tác phẩm duy nhất dựa trên kích thước tối đa trong trường hợp này?
Liệu có tiết kiệm đáng chú ý hay không tùy thuộc vào thời gian "foo" chạy. Thay đổi có đáng giá không? Của nó hoặc là một vấn đề của ý kiến, hoặc bạn nên đo thời gian chạy trên trình biên dịch và máy của bạn. Thay đổi có làm cho mã ít đọc được hơn không? Nếu vậy, có đáng để tiết kiệm mili giây thời gian chạy không? giây? –