我有一個任務,我正在分析各種排序算法的運行時間。我已經編寫了代碼,但我認爲這是一個不公平的比較。有沒有辦法在程序期間暫停OS調度?
我的代碼基本上抓住了排序完成前後的時鐘時間來計算流逝的時間。但是,如果操作系統決定在特定排序算法的運行時間期間更頻繁地中斷,或者如果它確定某個其他後臺應用程序在線程恢復時應該給予更多時間域,該怎麼辦?
我不是CS專業,所以在這裏我可能不完全正確,但從我以前閱讀的內容來看,我擔心這可能會對結果產生影響。
我也意識到,如果操作系統調度被掛起,程序掛起,那麼可能會有一個嚴重的問題;我只是想知道是否有可能。
只需調用排序算法一段時間,然後將最終時間分爲100. –
或者多次運行算法並保持測量的最小(最佳)時間。 –
暫停IO調度?包括頁面錯誤,I/O,一切? –