コンパイル時の最適化について

フリートーク
返信する
メッセージ
作成者
彦左衛門

コンパイル時の最適化について

#1 投稿記事 by 彦左衛門 »

こんにちは。

( デバッグ ) コンパイルをすると「最適化中」と出ますが、この間にコンパイラはどのようなことを行っているのでしょうか。

御存知の方居りましたら、教えて頂けませんか。

宜しく御願い致します。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#2 投稿記事 by konisi »

これはあくまでも予想ですが、最適化した後にコンパイルを行っている事からソース中の式を逆ポーランド記法に直したりしているのではないでしょうか?

少なくとも機械語単位の、あるいは広範囲な組み換えによる最適化は全くと言っていいほど殆どかかっていません。
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
彦左衛門

#3 投稿記事 by 彦左衛門 »

konisi さん、今日は。返信有難う御座います。

> 少なくとも機械語単位の、あるいは広範囲な組み換えによる最適化は全くと言っていいほど殆どかかっていません。

もし、そういったものが行われているならば、如何いった部分でかを知れば、ひょっとしたら、多少手抜きというか無駄が省けるかもと思いましたので。何か、一部の言語では、コンパイル時にそういった最適化も有る様なという事を見ましたので。

AB にも有ったら良いものなのかはよく分かりませんが、もし、そういった最適化を行えるならば、最適化の有る無しが選べたら良いですね。どの程度有る無しで違うかが分かるでしょうから。

今回も有難う御座いました。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#4 投稿記事 by konisi »

>一部の言語では、コンパイル時にそういった最適化も有る様なという事を見ましたので。
C言語を始めとする(Lisp以外の)昔からある言語では、コンパイル中での最適化の技術もかなり進んでいるようです。
IntelのC言語は顕著な例で、他にMicrosoftのC++でも最適化のオプションがあった気がします。(サイズ優先/実行速度優先等。)
他は調べてませんが。

AB以外のBasic系だとPureBasicやVisualBasicが思い浮かびますが、よく調べてないので控えます。

#そういえば、ABのV5の64bit版のコンパイラでは機械語レベルでの最適化をしていると言う話をいつだかに聞きました。

#ところで私は必要な部分をアセンブリ言語で書いてDLLにして、ABから呼び出すと言う方法で高速化してたりします。
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
彦左衛門

#5 投稿記事 by 彦左衛門 »

> #ところで私は必要な部分をアセンブリ言語で書いてDLLにして、ABから呼び出すと言う方法で高速化してたりします。

アセンブリ言語については今 Wikipedia で軽く見てみましたが、使ったことが無いので、何時か試せたらいいなという感じです。高速化の方法として今は頭の片隅に入れて置きます。
MML
記事: 154
登録日時: 2006年5月02日(火) 16:27

#6 投稿記事 by MML »

Visual Basicは確かインタプリタだったような気がするのですが。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#7 投稿記事 by konisi »

そのVisualBasicが、VBAの事を言っているのでなければコンパイル型の言語だったと思いますが、どうなんでしょう?

#ところで思ったのですが、64bit版コンパイラの機械語レベルでの最適化ってVLIWの事なんですかね?
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
tak
記事: 162
登録日時: 2005年5月31日(火) 07:49

#8 投稿記事 by tak »

> そのVisualBasicが、VBAの事を言っているのでなければコンパイル型の言語だったと思いますが、どうなんでしょう?

後期のバージョンでは一応コンパイルもできますが、申し訳程度です。
従来は p-code のインタープリタで動作していました。

> #ところで思ったのですが、64bit版コンパイラの機械語レベルでの最適化ってVLIWの事なんですかね?

VLIW は関係ないような…少なくともABのターゲットである AMD64 には。
返信する