作者bjorn607 (比用)
看板Fortran
標題[問題] 請問module
時間Sat Nov 8 02:36:08 2008
因為解題和測試需要
將parameter拆成幾個module
好供後面subroutine和function用
有一個問題是
module在執行效率上
會比直接宣告在某個subroutine或function裡 然後傳遞
快嗎
因為每次compile之後都會生出.mod 也就是module產生的檔
不曉得他運作是怎樣
如果是每次用他都需要跑去"檔案"裡讀
應該會減低效率?
以前遇過不小心把read寫在某個運算很多次的subroutine裡
然後一個3秒可以跑出來的東西要跑三分鐘
大量時間耗費在把"檔案"從硬碟讀進去
因為程式需要大量計算時間
必須要東省西省==
現在頭很大
(跑玩一個小分支模擬需要四小時 囧
模擬一堆粒子跑來跑去==)
有沒強者多瞭解運算效率或節省運算效率的一些觀念和訣竅呢
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.217.34
1F:推 noonee:你可以先做成 .o 和 .mod 再把 他們compile 你就知道有沒有 11/08 13:28
2F:→ noonee:一直去讀 .mod了 11/08 13:28
3F:→ noonee:另外要提高效率的話 確實read in 和write out和 print 11/08 13:29
4F:→ noonee:都很花時間 測試的方法很簡單 在你要的區段 call time 11/08 13:30
5F:→ noonee:另外多注意有沒有不必要的回圈 例如跑100就夠的卻跑了1000 11/08 13:30
6F:→ noonee:還有就是 真的非常花時間的話 可以試試看平行化 11/08 13:32