4

このページhttp://www.theregister.co.uk/2011/06/03/google_paper_on_cplusplus_java_scala_go/で次のことを読みました。

C++ は、4 つの言語の中で最速のランタイムを提供します。しかし、この論文によると、より広範な「チューニング作業が必要であり、その多くは、平均的なプログラマーには利用できないほど洗練されたレベルで行われました」.

私は C++ の大ファンであり、明らかにまだ学んでいます。私の質問は、「調整の努力」とはどういう意味ですか? コンパイラの設定に言及しているのか、それとも洗練されたコーディング手法を使用しているだけなのか? 任意の例をいただければ幸いです。

4

1 に答える 1

0

これらの言語での私の経験から、それはコンパイルとリンクのプロセスを指していると言えます。C ++またはJavaで多くのライブラリを使用するプログラムをコンパイルする必要がある場合、Javaを使用する場合はC++を使用する場合よりもコンパイラへの引数がはるかに少なくて済みます。私は大規模なプロジェクトにGoやScalaを使用したことがないので、これらを公正に比較することはできません。また、C ++では、ポインターを使用するには、必要に応じて多くの調整が必要です。C ++で複雑なデータ型を使い始めると、非常に速く複雑になる可能性があります。これはまったく役に立たないかもしれませんが、私の経験からそれは私が知っていることです。

私もC++が好きです。公正なレポートを得るのに十分なScalaまたはGoをまだ使用していない前に言ったように、Javaで提供されるインタプリタ言語のアイデアに満足することはできません。しかし、「チューニングの取り組み」に関して私が知っているのはそれだけです。

編集:

申し訳ありませんが、私は調査を行う必要がありました。この論文が参照している調整は、元の質問のコメントで使用されていない、元のベンチマークプログラムの変更にすぎません。

于 2012-05-06T01:31:58.893 に答える