計算密集型和IO密集型

2021-09-19 13:42:43 字數 529 閱讀 2188

什麼是計算密集型

計算密集型就是計算、邏輯判斷量非常大而且集中的型別,因為主要占用cpu資源所以又叫cpu密集型,而且當計算任務數等於cpu核心數的時候,是cpu執行效率最高的時候。

特點:消耗cpu

什麼是io密集型

io密集型就是磁碟的讀取資料和輸出資料非常大的時候就是屬於io密集型

由於io操作的執行時間遠遠大於cpu、記憶體執行時間,所以任務的大部分時間都是在等待io操作完成,io的特點是cpu消耗小,所以,io任務越多,cpu效率越高,當然不是越多越好,有乙個極限值。

io密集型任務執行期間,99%的時間都花在io上,花在cpu上的時間很少,因此,用執行速度極快的c語言替換用python這樣執行速度極低的指令碼語言,完全無法提公升執行效率。對於io密集型任務,最合適的語言就是開發效率最高(**量最少)的語言,指令碼語言是首選,c語言最差。

cpu核心數

cpu核心數是指乙個cpu由幾個核心組成,核心數越多,cpu執行速度越快,比如處理同乙份資料,單核是指乙個人處理,雙核是指兩個人處理,所以核心數越多,cpu效能越好。

計算密集型 IO密集型 資料密集型

2 計算密集型任務雖然也可以用多工完成,但是任務越多,花在任務切換的時間就越多,cpu執行任務的效率就越低,所以,要最高效地利用cpu,計算密集型任務同時進行的數量應當等於cpu的核心數。3 計算密集型任務由於主要消耗cpu資源,因此,執行效率至關重要。python這樣的指令碼語言執行效率很低,完全...

CPU 密集型 計算密集型,IO密集型

1 cpu 密集型 計算密集型 計算密集型,顧名思義就是應用需要非常多的cpu計算資源,在多核cpu時代,我們要讓每乙個cpu核心都參與計算,將cpu的效能充分利用起來,這樣才算是沒有浪費伺服器配置,如果在非常好的伺服器配置上還執行著單執行緒程式那將是多麼重大的浪費。對於計算密集型的應用,完全是靠c...

IO密集型和計算密集型

乙個計算為主的程式 專業一點稱為cpu密集型程式 多執行緒跑的時候,可以充分利用起所有的cpu核心,比如說4個核心的cpu,開4個執行緒的時候,可以同時跑4個執行緒的運算任務,此時是最大效率。但是如果執行緒遠遠超出cpu核心數量 反而會使得任務效率下降,因為頻繁的切換執行緒也是要消耗時間的。因此對於...