我是CS學生,自己學習算法。我現在正在使用的算法必須在功能強大的PC上運行兩個月左右,以便提供任何有用的東西,所以處理器效率會產生很大的差異。大部分處理器時間將用於運行具有不同初始值的一個子進程。保留所有處理器資源,核心和高速緩存
理想情況下,我想在單獨的線程上運行這些子進程中的幾個,爲每個線程保留一個核心和一部分緩存大約一個小時。在那個小時之後,我可以讓操作系統運行其他進程,並檢查用戶輸入。一旦完成,我想再次保留所有資源一個小時。
是否有一種簡單的方法可以做到這一點,如果不是這樣做甚至是值得的(性能增加5%-10%是值得加倍的編程時間),如果它值得做,但將很難有什麼資源用於計算出來?
我熟悉C++和JAVA可以做C#如果neccessary
什麼是你的目標操作系統?鑑於其他情況下的靜態機器,這樣做的改進可能遠低於1%。 –
你確定要在單個問題中詢問所有這些語言嗎?這太明顯了:c#,java和C++是非常不同的,並且有各種技術可以爲它們中的每一個處理多線程。 –