[問題] 請問module

看板Fortran作者 (比用)時間16年前 (2008/11/08 02:36), 編輯推噓1(105)
留言6則, 1人參與, 最新討論串1/1
因為解題和測試需要 將parameter拆成幾個module 好供後面subroutine和function用 有一個問題是 module在執行效率上 會比直接宣告在某個subroutine或function裡 然後傳遞 快嗎 因為每次compile之後都會生出.mod 也就是module產生的檔 不曉得他運作是怎樣 如果是每次用他都需要跑去"檔案"裡讀 應該會減低效率? 以前遇過不小心把read寫在某個運算很多次的subroutine裡 然後一個3秒可以跑出來的東西要跑三分鐘 大量時間耗費在把"檔案"從硬碟讀進去 因為程式需要大量計算時間 必須要東省西省== 現在頭很大 (跑玩一個小分支模擬需要四小時 囧 模擬一堆粒子跑來跑去==) 有沒強者多瞭解運算效率或節省運算效率的一些觀念和訣竅呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.217.34

11/08 13:28, , 1F
你可以先做成 .o 和 .mod 再把 他們compile 你就知道有沒有
11/08 13:28, 1F

11/08 13:28, , 2F
一直去讀 .mod了
11/08 13:28, 2F

11/08 13:29, , 3F
另外要提高效率的話 確實read in 和write out和 print
11/08 13:29, 3F

11/08 13:30, , 4F
都很花時間 測試的方法很簡單 在你要的區段 call time
11/08 13:30, 4F

11/08 13:30, , 5F
另外多注意有沒有不必要的回圈 例如跑100就夠的卻跑了1000
11/08 13:30, 5F

11/08 13:32, , 6F
還有就是 真的非常花時間的話 可以試試看平行化
11/08 13:32, 6F
文章代碼(AID): #1958gPg2 (Fortran)
文章代碼(AID): #1958gPg2 (Fortran)