• ベストアンサー

最適化コンパイラについて

Windows版インテルC++コンパイラのような最適化コンパイラをインストールすれば、そのコンピュータ上で行う全ての処理が高速化できるということなんでしょうか?最適化コンパイラについての概要や、導入のメリットデメリット、おすすめコンパイラなど、いろいろお教えください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#194317
noname#194317
回答No.4

マクロやVBAは、そのアプリケーションの内部で解釈動作されるので、外部にどんな 優れたコンパイラを用意しても、全く影響を受けません。コンパイラによる影響を 受けるのは、それを使って作成した実行ファイル(拡張子が.exe)だけです。 ソースコードを書く→それをコンパイラに通す→実行ファイル完成、という流れを たどってできあがった実行ファイルだけに影響します。 マクロやVBAはコンパイラに通せないので、コンパイラをインストールしても全く 実行速度は変わりません。お金とディスクスペースの無駄です。

gureko56077
質問者

お礼

なるほど、そういうことですね。とても分かりやすいご回答、本当にありがとうございました。

その他の回答 (3)

noname#194317
noname#194317
回答No.3

私もてっきり冗談だと思っていました。上司は、コンパイラという物が何なのかを 全く理解しておられないようですね。 > 私の理解では、”コンパイラとはプログラミング言語を機械語に翻訳するソフト” まさに、おっしゃるとおりです。コンパイラとは、そういう物です。 例え話をすると、新型の生産設備(コンパイラ)と車(ソフト)の関係だと考えて ください。新型の生産設備(コンパイラ)で作られた車(ソフト)は従来より高速に なりますが、今すでにある車(ソフト)の性能には全く影響しません。 上司が期待している効果が得られるのは、いわゆる「最適化ユーティリティ」などと 呼ばれているものですね。超速シリーズ(参考URL)とか。 もう一度、上司に説明してあげてください。

参考URL:
http://www.sourcenext.com/soku/
gureko56077
質問者

お礼

なるほど!「最適化ユーティリティ」というものがあるんですね!わかりました。これで上司も納得がいくと思います。正直ほっとしました。上司に「あなた勘違いしてる、そんなものない」なんて言えませんからね。ありがとうございました。感謝です♪

gureko56077
質問者

補足

もう一点、お尋ねします。 AccessやExcelのマクロなどで使用するVBAのプログラムコードは、実行時にコンパイルされているんだとは思いますが、その場合、最適化コンパイラの影響は受けるんでしょうか? 素人的な質問ばかりですいませんが、よろしくお願いします。

noname#182251
noname#182251
回答No.2

「最適化しない」コンパイラの方が珍しいと思います。 ではインテルの最適化コンパイラは何が違うか? 要するにインテルの(多分最新版)CPUのアーキテクトを最高に活用するように最適化するということでしょう。CPUとの組合わせがタコなら全然駄目カナ?

gureko56077
質問者

お礼

ご回答ありがとうございました。

回答No.1

全ての処理?ってExcelとかじゃ無いですよね(冗談 ですが)。 何を最適化するかにもよりますが、ここでは実行速度 最適化すると設定してコンパイルするとして、それを しないよりも、処理が早くなるように効率化された手 順の実行ファイルを生成するのが最適化コンパイラの 仕事です。 最適化無しでもコンパイラが冗長な処理手順を生成し ないいような仕事の場合は結果は変わりません。 私はVC++ 6.0proの最適化を使ってコンパイルていま すが、Intel製をわざわざ買うのはプロのごく一部 の人でしょう。

gureko56077
質問者

補足

ご回答ありがとうございます。 >全ての処理?ってExcelとかじゃ無いですよね(冗談 ですが)。 この文章の意味として、Excelなどには影響しないっていう意味ですよね? 実は、上司がコンパイラによって処理が早くなるというようなことをどこかで耳にしたらしく、それを入れると言いだしまして、私の理解では、”コンパイラとはプログラミング言語を機械語に翻訳するソフト”と思っていましたので、市販のアプリケーションを使用しているパソコンでは特に影響ないのではないかと言いましたところ、納得してもらえないばかりか、今ごろは新しくいろんなものが出ているんだ、と言われまして、少し調べてみましたがよく分からなかったので質問させていただきました。 この点に関しまして、アドバイスいただけたらと思います。よろしくお願いします。

関連するQ&A

専門家に質問してみよう