
答え1
実行中のタスクに使用される RAM は、データを保存するためだけに使用されます。これは、Python コード内の変数などのデータです。CPU の使用量は、実行中のプログラムの「思考」に関係します。
したがって、この場合、プログラムは多くの思考を行っていますが、多くの保存は行っていません。
答え2
Python プログラムはメモリのボトルネックではなく、CPU のボトルネックになっています。
こう考えてみてください。ペンで紙に本を書いているとします。できるだけ速く書きます。一枚ずつ目の前に 10 枚の紙を広げたからといって、書く速度が 10 倍になるわけではありません。
これはまさにあなたが見ているものです。CPU は可能な限り高速に「書き込み」を行っています。したがって、使用率は 100% です。メモリは紙のシートであり、それがメモリが機能する媒体です。
プログラムを高速化したい場合は、もっと手が必要、またはもっと速く書く必要があります。 両手があれば、片方の手で最初の章を書き、もう片方の手で次の章を書くことができます。3 つの手があれば、3 番目の章を書くことができます。すべて同時に。
プログラムを複数のタスクに分割できると仮定すると (まだ分割されていない場合)、マルチスレッド Python アプリケーションを作成することでこれを実現できます。ただし、その方法については Superuser.com の範囲外です。
CPU の使用率は 100% に固定されており、マルチコア CPU が現在では標準となっているため、Python プログラムはすでにマルチスレッド化されている可能性があります。これは、プログラムをより高速に実行するには、より多くの CPU コアやより高速なコアが必要であることを意味します。