題外話 計算密集型 vs IO密集型

2022-03-19 15:01:54 字數 505 閱讀 7042

我們把任務分為計算密集型和io密集型,erlang作為io密集型的語言,適合閘道器等相關的場景,而對計算達到某一量級後,可能處理效率下降的很明顯。

erlang不適合數值計算。erlang是解釋型的,雖然現在的直譯器能夠編譯**,但是還是太慢。

計算密集型任務由於主要消耗cpu資源,因此,**執行效率至關重要。erlang不適合計算密集型任務。對於計算密集型任務,最好用c語言編寫。

io密集型,涉及到網路、磁碟io的任務都是io密集型任務,這類任務的特點是cpu消耗很少,任務的大部分時間都在等待io操作完成(因為io的速度遠遠低於cpu和記憶體的速度)。對於io密集型任務,任務越多,cpu效率越高,但也有乙個限度。常見的大部分任務都是io密集型任務,比如web應用。

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

計算密集型 vs IO密集型

是否採用多工的第二個考慮是任務的型別。我們可以把任務分為計算密集型和io密集型。計算密集型任務由於主要消耗cpu資源,因此,執行效率至關重要。python這樣的指令碼語言執行效率很低,完全不適合計算密集型任務。對於計算密集型任務,最好用c語言編寫。第二種任務的型別是io密集型,涉及到網路 磁碟io的...

計算密集型 vs IO密集型

是否採用多工的第二個考慮是任務的型別。我們可以把任務分為計算密集型和io密集型。計算密集型任務由於主要消耗cpu資源,因此,執行效率至關重要。python這樣的指令碼語言執行效率很低,完全不適合計算密集型任務。對於計算密集型任務,最好用c語言編寫。第二種任務的型別是io密集型,涉及到網路 磁碟io的...

CPU密集型 vs IO密集型

我們可以把任務分為計算密集型和io密集型。計算密集型任務由於主要消耗cpu資源,因此,執行效率至關重要。python這樣的指令碼語言執行效率很低,完全不適合計算密集型任務。對於計算密集型任務,最好用c語言編寫。第二種任務的型別是io密集型,涉及到網路 磁碟io的任務都是io密集型任務,這類任務的特點...