記憶體和 CPU 優化器:它們是噱頭嗎?

記憶體和 CPU 優化器:它們是噱頭嗎?

是分析工具,使您能夠使用你所有的CPU核心還有幫助你恢復記憶的工具(目前還想不出任何東西,但看過很多)一個噱頭?這些工具真的有用嗎?

答案1

遠離“記憶體優化器”。他們幫不了你。將記憶體管理留給作業系統!

這列出了原因:http://www.t3chnophilia.com/2008/08/5-reasons-you-shouldnt-use-memory.html

答案2

記憶體優化器

曾經有一段時間,DOS 386/486 用戶必須仔細手動優化他們的 config.sys 和 autoexec.bat 文件,以加載盡可能多的「高」內容(超過 640K)。首先載入錯誤的內容可能會導致其他所有內容都佔用您寶貴的 640K 應用程式空間。

然後記憶體優化器會自動為你解決這些問題。就在 Windows 95 淘汰它們的時候,它們達到了真正的實用性和成熟度。

系統最佳化器

速度優化器所做的其他事情包括清空垃圾桶、整理磁碟碎片、清理註冊表、刪除舊的安裝日誌、卸載不需要的驅動程式和卸載舊程式的碎片。

如果他們碰巧在閾值處清理了一些東西,速度的提高可能是巨大的。通常情況下,不會。

正如您所猜測的,您可以自己完成所有這些事情,而無需花錢。

答案3

從您的用戶名來看,我認為您是像我一樣的軟體開發人員。

如果應用程式不是為利用多執行緒而編寫的,那麼輔助應用程式將不會為您做任何事情。

如果您正在運行多執行緒應用程序,並且編寫得正確,Windows 中的執行緒調度演算法就會很好。像這樣的程式是為了利用那些不知道幕後情況的人。

幾乎所有現代電腦都至少有兩個處理器,通常稱為“核心”。

應該是一個徹底的洩露,因為我們都知道核心和處理器是兩個不同的東西。

答案4

我是一名開發人員,所以我將從 C/C++ 的角度來回答這個問題。假設我正在編寫一個 GUI 程序,並且在其中的任何地方都沒有使用它來打破工作線程,CreateThread()那麼它是單核的,你所做的任何事情都無濟於事。如果我正在使用CreateThread()CreateProcess()那麼我作為程式設計師可以嘗試設定親和力。我還可以設定調度優先級,儘管這些是基於以下類型描述的近似值:低、正常、高、低於正常、高於正常。實際的底層線程級別是 1-16(內核級代碼為 17-32),但您無法直接映射到這些級別,只能根據調度程序計算放入 bin 中。我對如何控制線程沒有更多的控制權。 Windows Schedular 的內部結構在 Microsoft 之外並不為人所知,部分原因是 Microsoft 在 Windows 版本之間更改了它們,以確保它們掌握系統使用並使事情盡可能順利進行。

另一個應用程式會提供幫助的想法是荒謬的,除非它會破壞我的跨核心進程。如果不是在核心級別,這樣做將非常困難,而且很可能會破壞應用程式。嘗試強制調度程序執行不同的操作也會浪費 CPU 週期,因為您必須進行計算以加快速度,然後將其套用到執行緒和進程。

最後,您可以使用這些工具來讓您的系統更加不穩定。例如,防毒掃描程式以低優先順序運作是有原因的。閱讀Linux 下進程的良好價值(這與Windows 中的概念相同:基本上,如果進程佔用資源,則被認為是不好的。在Linux 下,它們實際上為這種不良行為獲得的時間更少。在Windows 下,它們只是佔用資源)資源並減慢一切)。因此,雖然程式應該能夠應對,但您的工具可能會為進程提供比實際真正想要的更高的優先級,或者在需要時降低進程的優先級。

正如其他人所說,這最好留給作業系統。

相關內容