IO集約型、CPU集約型である何[ターン]?

CPU集約型(CPUバウンド)

また、システムのハードディスクを参照すると、CPU集約型の計算集約型と呼ばれる、メモリ、CPUの性能が比較的はるかに優れている、この時間は、システムが最も状況の作品I / O(HDD /メモリーCPUのロード100%、CPUが読み取り/書き込みするということです)、I / Oが非常に短い時間で完了することができ、かつ、CPUのロード高に対処するため、多くのCPUの動作があります。

マルチプログラムシステムでは、計算に使用されるほとんどの時間は、CPUのプログラムの判定論理演算は、結合したCPUをいいます。例えば、千個のプログラム以下の小数第1位まで算出piは、三角関数や平方根の計算に使用される時間の大半の実行中に、CPUバインドプログラムが属しています。

一般的なCPUの利用率のCPUバインドプログラムは非常に高いです。タスク自体はI / Oデバイスにアクセスするために必要とされていないため、プログラムは、したがって、I / O時間を待た遮断達成マルチスレッド化されているので、これは、それがかもしれすることができます。

集中的なIO(I / Oバウンド)

IO集約型のシステムのハードドライブの相対的なCPU性能を指し、メモリはるかに良い、この時間は、システムの動作は、状況のほとんどは、CPUや他のI / O(HDD /メモリー)/書き込み操作を読むことであり、この時のCPUのロードそれは高くありません。

その限界までプッシュされ、通常はI / Oバウンドのプログラムは、CPU占有率がまだ低いです。パイプラインは非常によくやっていない状態での作業自体は、I / O操作の多くを必要とするため、これはプロセッサ能力を最大限に活用していないとすることができます。

CPU集約型IO集約型の対

私たちは、計算集約型の缶にタスクとIOを集中的に。

計算集約的なタスクは、ように、PI、高精細ビデオのデコードを計算し、計算など、CPUリソースの消費、CPUの演算能力のおかげでの多数によって特徴付けられます。この計算集約的なタスクもマルチタスクが、複数のタスクを用いて達成することができるが、タスク切り替えに費やされるより多くの時間は、CPUの効率が低く、したがって、タスクを実行するCPUの最も効率的な使用であることが、計算集約同時に、タスクの数は、CPUコアの数に等しくなければなりません。

メイン計算集約型のタスクがCPUリソースを消費し、従ってので、コードの動作効率が不可欠です。Pythonのスクリプト言語は、計算集約型のタスクのために全く適さない、非効率的に実行します。計算集約型のタスクの場合、それは最高のC言語で記述されています。

第二のタイプは、ネットワークを含む、IO集約型のタスクで、ディスクIOタスクはIO集約型のタスクです、タスクのこのタイプの特徴は、CPUの消費量で、タスクがIO操作を待っている時間のほとんどが完了しました(理由IOは、CPUとメモリの速度)よりもはるかに遅いです。IO集中型のタスクのために、より多くのタスクが、高いCPU効率が、しかし限界があります。最も一般的なタスクは、WebアプリケーションなどのIO集約型のタスクです。

実行中のIO集約型のタスク、時間の99%は、IOに費やされ、ほんの少しの時間は、C言語はに完全にできない、この低速のPythonスクリプト言語に置き換えた、非常に高速で実行されているので、CPUに費やさ業務効率を向上させます。IO集中型のタスクのために、最も適切な言語が最も効率的な(コードの最低額)を開発することである言語、スクリプト言語が好ましく、C言語で最悪。

開発のためのC言語用の短い、計算集約型マルチスレッドプログラムでは、I / O集中型のマルチスレッドのスクリプト言語。

おすすめ

転載: www.cnblogs.com/liangyc/p/11628124.html