Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonが他の言語より遅いのはなぜですか?


Pythonはスクリプト言語であり、Cはプログラミング言語です。 C / C ++はPythonに比べて比較的高速です。これは、Pythonスクリプトを実行すると、そのインタープリターがスクリプトを1行ずつ解釈して出力を生成するためですが、Cでは、コンパイラーが最初にスクリプトをコンパイルして、以下に関して最適化された出力を生成します。ハードウェア。 Javaや.NETなどの他の言語の場合、JITコンパイラは実行時にバイトコードをネイティブコードにコンパイルするため、Javaバイトコードと.NETバイトコードはそれぞれPythonよりも高速に実行されます。 Pythonの動的な性質によりJITコンパイラを作成するのが難しいため、CPythonにJITコンパイラを含めることはできません。

Pythonが他の言語より遅いのはなぜですか?

違い

ご存知のように、Pythonはインタプリタ言語ですが、Cはコンパイル言語です。インタプリタされたコードは、実際のマシン命令を実装するよりもインタプリタされた命令を実装するために多くの命令を必要とするため、直接のマシンコードよりも常に低速です。プログラムで実際の作業を行う前に、Pythonの命令をCPUが理解する必要があります。そのため、Pythonインタープリターは、変数を格納するためのメモリの割り当て、プログラムからの空白やコメントの削除、その他の関連タスクなど、Python言語のルールに従って各ステートメントをチェックします。このプロセスはプログラムの行ごとに繰り返され、プログラム実行のオーバーヘッドが大幅に増加します。

Pythonが他の言語より遅いのはなぜですか?

Cは速い

一方、Cはソースコードの再検討に多くの時間を費やさず、CPUコマンドにすばやく変換します。実行前に、別のコンパイラが人間の言語プログラムをCPU命令に変換し、エラーをチェックし、メモリと変数を割り当て、コメントと空白を取り除き、結果の命令を最適化します。コンパイルされたコードの結果は、他の事前に作成されたコードにリンクされ、その結果、多くの準備をしなくても、割り当てられたジョブを実行する準備ができている堅実なCPUコマンドを取得できます。内部的には、Pythonコードの実行が遅くなる理由は、コードがコンパイル時にネイティブコードにコンパイルされるのではなく、実行時に解釈されるためです。


  1. Pythonコードの最適化のヒント?

    Pythonは他の準拠言語ほど高速でも効率的でもないことは誰もが知っていますが、ただし、Pythonコードがはるかに大きなワークロードを処理できることを示している大企業はたくさんあり、それほど遅くはないことを示しています。このセクションでは、正しいPythonプログラムをさらに高速かつ効率的に実行するために、覚えておくべきヒントをいくつか紹介します。 ヒント1:組み込み関数を使用する Pythonで効率的なコードを書くことはできますが、組み込み関数(Cで書かれている)に勝るものはありません。下の画像は、Python組み込み関数のリストを示しています ヒント2:Pythonの複数の代入を

  2. アップロード速度がダウンロード速度よりもはるかに遅いのはなぜですか?

    インターネットで速度テストを行ったことがある場合は、ダウンロード速度と比較して、アップロード速度が少し哀れなことに気付いたと思います。ただし、あなただけではありません。これは世界中でほぼ標準です。 2018年7月のSpeedtestの世界平均は、46.41 Mbpsダウン、22.48アップでした。なぜ非対称性なのか?一般に、ISPは2つのことを検討しています。1つはアップストリームよりもダウンストリームの帯域幅に対する需要がはるかに多いこと、もう1つは回線が伝送できるトラフィック量に技術的な制限があることです。 非対称性は実際に重要です DSL、ケーブル、ファイバー接続は、ダウンロー