不知道這是這個問題的最佳標題,但在這裏。爲什麼多個過程變慢?
通過python/Qt我啓動了一個可執行文件的多個進程。每個進程都將大塊文件(〜20GB)分塊寫入磁盤。我發現第一個啓動過程始終是最後一個完成並且持續很多,比其他過程長得多(儘管具有相同數量的寫入)。
性能監視器顯示該進程仍在使用預期數量的RAM(〜1GB),但進程中的磁盤活動已經減慢爲緩慢。
爲什麼會發生這種情況?就好像第一個進程以某種方式啓動了其他進程阻止的'磁盤訪問',然後在其他進程結束後不能恢復...
操作系統(windows)會導致這種情況嗎?我能做些什麼來緩解這種情況?
我會研究存儲介質的連續寫入速度,並比較保存該數據量的時間。由於內部緩存,硬盤驅動器可以快速接收短暫的突發數據,但大型文件(順序寫入)至少需要一定的時間。我懷疑,通過多進程寫入磁盤,可以獲得更好的寫入性能。在我看來,多個進程的開銷,以及在文件流之間切換來寫入,性能反而會更糟糕。 – Aaron