• ベストアンサー

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

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

  • コンパイラについて

    LSI C-86コンパイラ試食版(Ver.3.30c)を使おうとしましたが、インストールと設定がよく分かりません。 小学生にも分かるように簡単に教えてください。

  • IRIX用のCコンパイラ

     C言語で作成したプログラムをOSがIRIX 6.5のコンピューターで使いたいのですが、このコンピューターにはCコンパイラがありません。  IRIX 6.5で使えるCコンパイラ(できればフリー)を、教えてください。  インストールの手順があるとありがたいです。  よろしくお願いします。

  • おすすめのコンパイラ

    C++ で,おすすめのコンパイラを教えてください. OS は Windows2000 で,用途は暇つぶし用です. 7年ほどコンピュータから完全に離れていましたので, 最近のコンパイラは使った事がありません.よろしくお願いします.

  • Cコンパイラをインストールなしでwindowsに

    Cコンパイラをインストールなしでwindowsに入れる方法を探しています。 以下、詳細です。 (1)GUEST環境のために、インストールが実行できません。 (2)セキュリティやウイルスの関係上、USBメモリなどの外部媒体を使う事が禁止されています。 そのため、USBメモリを経由してCコンパイラを使う、ということはできません。 以上の状況下で、Cコンパイラをwindowsに入れたいのですが、なにかいい方法はないでしょうか。 なお、使っているpcには基本的に必要最低限のものしか入っていません。 (調べた限りでは、cコンパイラの導入のほとんどにインストールが必要でした。 おそらく、c言語がunixの開発のために作られたものであるため、windowsに入れるためにはある程度の準備が必要だからかな、と認識しています。)

  • 非商用のインテルコンパイラ

    非商用版のインテルコンパイラがありますが、それは64ビット対応版があるでしょうか。 最近、あまり考えないでPCを購入したら、X86_64となっており、どうも64ビットマシンのようです。 私は非商用インテルコンパイラの32ビットのものを持っているようで、当然、インストールプロセスが停止しました。 あらためて、非商用ダウンロードサイトに行って取り寄せようと思ったのですが、ページ上には32とも64とも書いてありません。 http://software.intel.com/en-us/articles/non-commercial-software-download/ 64対応でないとまずいので、そのようになっているかどうか教えて頂きたいのですが。 よろしくおねがいします。

  • intelのfortran, Cのコンパイラ

    intelのfortran, CのコンパイラのWindows版についてお尋ねします。 コマンドラインで実行しており、そのような使い方で何も困らないのですが、Microsoft Visual studioを使うことも推奨されるようなのです。デバッガはその方が良さそうですが。 そこでお尋ねします。 1.今一度、用途は何でしょうか。 2.Microsoft visual studioは有償のものでないとダメでしょうか。一度、販売店に聞いたら無償のもの(express)は利用できないということでした。腑に落ちないので両者の方の意見を聞きたいのですが。 3.ずっとコマンドラインで使っていましたが、後からvisual studioをインストールしても問題ないでしょうか。 4.ウィンドウズ上で並列処理(CPUを分割して並列処理する)のに必須でしょうか。mpich2を利用するためにvisual studioの環境を利用するという人がいましたが。Linux版はもちろん関係ないわけですが、並列環境を整えることは可能です。考え方がだいぶ違うわけですがどのように考えるのでしょうか。(質問が漠然としています)。 以上、よろしくお願いします。

  • scilabという科学ソフトとコンパイラ

    MATLABに近い動作をする科学系のフリーソフトのscilabについてお尋ねします。 最近、scilabをインストールすると、intelのMathkernel libraryをネットから取りよせようと動作したり、c言語、Fortranのコンパイラがインストールされていることが前提だったり、つまりscilabをしっかり動作させるためのツール(計算環境)を外に求めるようです。 一応、scilab自体のインストールはできるようですが、しっかり動作させるには何かが不足しているのかもしれないと思います。 scilabの使用にについて前提条件としてそのようなことがあるのでしょうか。どこかに書いてあるでしょうか。もしインストール時にない場合はあとからインストールしてもいいでしょうか。またcコンパイラはbcc55でもいいでしょうか。 よろしくお願いします。

  • PIC18のCコンパイラはどちらがお勧めでしょうか?

    PIC18のCコンパイラはどちらがお勧めでしょうか? MPLAB C Compiler pic18MCU と HI-TECK C PIC18MCU (どちらもLiteバージョンで) 又製品版を使うとしたらどちらがいいのでしょうか?

  • インテルのフォートランの更新について

    インテルフォートランのver.11をWindows環境で使っています。そろそろ10年ぐらいになるのですが、これまで製品の更新が何回かあった思いますが、これを使い続けました。製品の更新の内容はGPUとか並列処理のようだったので、そのような計算機に特化して高速化することはあるのだろうと思いました。一方でそのようなハードに対応しなくても計算機そのものが高速化しているのでそれに連れてこのような少し古いコンパイラでも計算の速度は向上していると思っているのですが、どうでしょうか。逆にハードの更新に伴って古いコンパイラは使いづらくなっていく(コンパイラの更新はフォローすべき)ということなのでしょうか。予算の都合もありますが。よろしくお願いします。 ※インテル製品はCのコンパイラも平行してあるので、こちらに質問しました。

  • win版インテルコンパイラnmakeの括弧について

    linux版インテルコンパイラ(icc)を使っているmakefileをwindows版インテルコンパイラ(icl)で使えるように書きかえているのですが、コマンドプロンプトでどうもnmakeがうまくいきません。 nmakeをしたときのエラーメッセージは、 makefile(22) : fatal error U1001: 構文エラー : 無効な文字 '{' がマクロ中にありま す。 です。makefile22行目は $(PROGRAM) : ${OBJS} $(CC) $(CFLAGS) -o $@ ${OBJS} $(LIBS) なのですが、コマンドプロンプトで{}の括弧は使えないのでしょうか。 またうまくいくようにするにはどうすればよろしいでしょうか。