- ベストアンサー
最適化コンパイラについて
Windows版インテルC++コンパイラのような最適化コンパイラをインストールすれば、そのコンピュータ上で行う全ての処理が高速化できるということなんでしょうか?最適化コンパイラについての概要や、導入のメリットデメリット、おすすめコンパイラなど、いろいろお教えください。よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
マクロやVBAは、そのアプリケーションの内部で解釈動作されるので、外部にどんな 優れたコンパイラを用意しても、全く影響を受けません。コンパイラによる影響を 受けるのは、それを使って作成した実行ファイル(拡張子が.exe)だけです。 ソースコードを書く→それをコンパイラに通す→実行ファイル完成、という流れを たどってできあがった実行ファイルだけに影響します。 マクロやVBAはコンパイラに通せないので、コンパイラをインストールしても全く 実行速度は変わりません。お金とディスクスペースの無駄です。
その他の回答 (3)
私もてっきり冗談だと思っていました。上司は、コンパイラという物が何なのかを 全く理解しておられないようですね。 > 私の理解では、”コンパイラとはプログラミング言語を機械語に翻訳するソフト” まさに、おっしゃるとおりです。コンパイラとは、そういう物です。 例え話をすると、新型の生産設備(コンパイラ)と車(ソフト)の関係だと考えて ください。新型の生産設備(コンパイラ)で作られた車(ソフト)は従来より高速に なりますが、今すでにある車(ソフト)の性能には全く影響しません。 上司が期待している効果が得られるのは、いわゆる「最適化ユーティリティ」などと 呼ばれているものですね。超速シリーズ(参考URL)とか。 もう一度、上司に説明してあげてください。
お礼
なるほど!「最適化ユーティリティ」というものがあるんですね!わかりました。これで上司も納得がいくと思います。正直ほっとしました。上司に「あなた勘違いしてる、そんなものない」なんて言えませんからね。ありがとうございました。感謝です♪
補足
もう一点、お尋ねします。 AccessやExcelのマクロなどで使用するVBAのプログラムコードは、実行時にコンパイルされているんだとは思いますが、その場合、最適化コンパイラの影響は受けるんでしょうか? 素人的な質問ばかりですいませんが、よろしくお願いします。
「最適化しない」コンパイラの方が珍しいと思います。 ではインテルの最適化コンパイラは何が違うか? 要するにインテルの(多分最新版)CPUのアーキテクトを最高に活用するように最適化するということでしょう。CPUとの組合わせがタコなら全然駄目カナ?
お礼
ご回答ありがとうございました。
- yamaichiro
- ベストアンサー率31% (77/243)
全ての処理?ってExcelとかじゃ無いですよね(冗談 ですが)。 何を最適化するかにもよりますが、ここでは実行速度 最適化すると設定してコンパイルするとして、それを しないよりも、処理が早くなるように効率化された手 順の実行ファイルを生成するのが最適化コンパイラの 仕事です。 最適化無しでもコンパイラが冗長な処理手順を生成し ないいような仕事の場合は結果は変わりません。 私はVC++ 6.0proの最適化を使ってコンパイルていま すが、Intel製をわざわざ買うのはプロのごく一部 の人でしょう。
補足
ご回答ありがとうございます。 >全ての処理?ってExcelとかじゃ無いですよね(冗談 ですが)。 この文章の意味として、Excelなどには影響しないっていう意味ですよね? 実は、上司がコンパイラによって処理が早くなるというようなことをどこかで耳にしたらしく、それを入れると言いだしまして、私の理解では、”コンパイラとはプログラミング言語を機械語に翻訳するソフト”と思っていましたので、市販のアプリケーションを使用しているパソコンでは特に影響ないのではないかと言いましたところ、納得してもらえないばかりか、今ごろは新しくいろんなものが出ているんだ、と言われまして、少し調べてみましたがよく分からなかったので質問させていただきました。 この点に関しまして、アドバイスいただけたらと思います。よろしくお願いします。
お礼
なるほど、そういうことですね。とても分かりやすいご回答、本当にありがとうございました。