1. ホーム
  2. c++

[解決済み] なぜPythonのプログラムはCやC++で書かれた同等のプログラムより遅いのですか?

2023-06-12 07:17:31

疑問点

なぜ Python は C/C++ よりも平均的に遅く感じるのでしょうか?私は最初のプログラミング言語として Python を学びましたが、C を始めたばかりで、すでに明確な違いが見えるように感じています。

どのように解決するのですか?

PythonはC言語よりも高レベルな言語です。つまり、メモリ管理やポインタなど、コンピュータの詳細を抽象化し、人間の思考方法に近い方法でプログラムを書くことができます。

実行時間だけを見れば、C言語のコードはPythonのコードの10倍から100倍速く動くことは事実です。しかし、開発時間も含めると、PythonはしばしばCに勝ります。多くのプロジェクトでは、開発時間は実行時のパフォーマンスよりもはるかに重要です。開発時間が長いと、余分なコストがかかり、機能が少なくなり、市場投入までの時間が遅くなることに直接変換されます。

内部的には、Pythonのコードがより遅く実行される理由は、コードがコンパイル時にネイティブコードにコンパイルされる代わりに、実行時に解釈されるからです。

Java バイトコードや .NET バイトコードのような他のインタプリタ型言語は Python よりも速く実行されますが、これは標準配布物に JIT コンパイラ が含まれており、実行時にバイトコードをネイティブコードにコンパイルするからです。CPythonがすでにJITコンパイラを持っていない理由は、Pythonの動的な性質がそれを書くことを難しくしているからです。あるのは 作業 進行状況 を使用してより高速な Python ランタイムを記述しているため、将来的にパフォーマンスの差が縮まることを期待すべきですが、標準の Python ディストリビューションが強力な JIT コンパイラを含むようになるにはおそらくしばらく時間がかかると思われます。