Re: [問題] 同環境不同時空所需時間....

看板PLT (程式語言與理論)作者 (與程式最後的決戰)時間15年前 (2009/09/28 17:02), 編輯推噓2(205)
留言7則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《chrisjon (與程式最後的決戰)》之銘言: : 請問,有可能在 相同電腦、相同程式、相同軟體 : 在不同時間跑出來的結果不同嗎? ~.~?? : 我使用Maple統計軟體,在數個月(約半年)前跑出一些結果 : 此結果是記錄 一個計算公式執行10的9次方次 : 最近因為使用C,找出一些不同的程式碼 : 因為時間結果太奇怪,所以把之前的程式(一模一樣的)再重新跑一次 : 結果時間縮短了將近1/3~1/4.... : 例如:原本跑20937秒,重跑後剩5510秒 : 原本跑12468秒,重跑後剩4983秒 : ....怎麼會這樣~.~ ┌─────┐ │ 引入參數 │ └──┬──┘ ↓ ┌─────┐ │ 記錄時間I│ └──┬──┘ ↓ ┌─────┐ ┌─┤while i<k │←┐(k = 1,000,000,000) │ └──┬──┘ │ │ ↓  │ │ ┌─────┐ │ │ │ 計算公式 ├─┘ │ └─────┘ └────┐ ↓ ┌─────┐ │記錄時間II│ └──┬──┘ ↓ ┌─────┐ │耗時=I-II │ └──┬──┘ ↓ ┌─────┐ │ 結 束 │ └─────┘ 流程只是如此,為什麼時間會變呢? 在我的想法,因為在一樣的條件下,所以得到的結果應該會差不多 (會有誤差,但應該不會差太多) 請問能否請前輩簡單說明一下? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.137.179

09/28 21:35, , 1F
multi-programming OS 阿.... [攤手]
09/28 21:35, 1F
11何謂Multi-Programming系統。 在批次系統中,雖然程式可以一個接一個地執行, 但只要某份工作正在等待 I/O 設備 (例如讀取或儲存資料), CPU 就會為了要等待其執行完成, 而處於閒置狀態。 為了改善此一情況, 於是發展出多元程式 (Multi-programming) 系統。 我在知識+看到的解釋,可是還是不是很懂 為什麼同樣的電腦會出現Multi-programming OS 因為自動更新的關係嗎? ※ 編輯: chrisjon 來自: 123.195.137.179 (09/28 22:04)

09/28 22:53, , 2F
你在執行你的程式時...滑鼠卻還可以動來動去?
09/28 22:53, 2F

09/28 22:55, , 3F
要達到這種效果...不就是Multi-programming?
09/28 22:55, 3F

09/28 22:57, , 4F
不過我舉的例可能沒有很好...我省略了某些運作細節:P
09/28 22:57, 4F
嗯嗯!!多工就是了 但是問題是,第一次跑時,電腦重開機後就執行程式,之中幾乎沒有做過其他事 (偶爾會動動滑鼠) 可是最近這次跑程式,我幾乎是跑程式兼看網頁、打BBS全都來...反而還比較快?

09/28 23:02, , 5F
想請問原po所使用的記錄時間所呼叫的function為何?
09/28 23:02, 5F

09/28 23:04, , 6F
而且這個問題跟Multi-threading及Multi-core有關...
09/28 23:04, 6F

09/28 23:06, , 7F
不過要先查清楚Maple跟C所使用的紀錄時間function為何..
09/28 23:06, 7F
Maple只要執行 time(); 就會出現執行程式所"累計"的時間 例如A程式執行30秒,time(); → 30 再執行B程式25秒, time(); → 55 所以要計算B程式所耗費的時間,就是先把30記錄下來,再把55記錄下來,最後相減 ※ 編輯: chrisjon 來自: 123.195.137.179 (09/29 03:28)
文章代碼(AID): #1Am7kQfp (PLT)
文章代碼(AID): #1Am7kQfp (PLT)