C++ より高速な言語 [closed] 質問する

C++ より高速な言語 [closed] 質問する

Blitz++は次のような特徴があると言われていますFortranに近いパフォーマンス

実際、同等のタスクの場合、Fortran は通常の C++ よりも高速になる傾向がありますか?

優れたランタイム パフォーマンスを持つ他の HL 言語についてはどうでしょうか。特定のタスクでは C++ を上回る言語がいくつかあると聞いたことがあります... Objective Caml、Java、D...

GCは多くのコードを作成できると思いますもっと早くスタック上の過剰なコピーの必要性がなくなるからでしょうか?(コードがないパフォーマンス用に書かれたもの)

好奇心から質問しているのですが、私は、専門的な ASM コーディングを除けば、C++ はほぼ無敵だと常に思っていました。

ベストアンサー1

Fortran は、純粋に数値的なコードの場合、C++ よりも高速で、ほとんどの場合優れています。Fortran が高速である理由はたくさんあります。Fortran は最も古いコンパイル言語です (コンパイラの最適化に関する豊富な知識)。Fortran は今でも数値計算用の言語であるため、多くのコンパイラ ベンダーは最適化されたコンパイラの販売で生計を立てています。他にも、より技術的な理由があります。Fortran (少なくとも Fortran77) にはポインタがないため、その分野の C/C++ 言語を悩ませているエイリアシングの問題はありません。多くの高性能ライブラリは、長い (30 年以上) 歴史を持つ Fortran で今でもコード化されています。C にも C++ にも、優れた配列構造はありません (C はレベルが低すぎます。C++ には、地球上のコンパイラと同じ数の配列ライブラリがありますが、それらはすべて互いに互換性がないため、十分にテストされた高速なコードのプールが妨げられています)。

おすすめ記事