ab.com コミュニティ
https://www.activebasic.com/forum/

コンパイル時の最適化について
https://www.activebasic.com/forum/viewtopic.php?t=2359
ページ 11

作成者:  彦左衛門 [ 2008年4月11日(金) 18:32 ]
記事の件名:  コンパイル時の最適化について

こんにちは。

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

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

宜しく御願い致します。

作成者:  konisi [ 2008年4月11日(金) 20:28 ]
記事の件名: 

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

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

作成者:  彦左衛門 [ 2008年4月14日(月) 17:50 ]
記事の件名: 

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

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

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

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

今回も有難う御座いました。

作成者:  konisi [ 2008年4月14日(月) 19:39 ]
記事の件名: 

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

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

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

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

作成者:  彦左衛門 [ 2008年4月15日(火) 18:26 ]
記事の件名: 

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

アセンブリ言語については今 Wikipedia で軽く見てみましたが、使ったことが無いので、何時か試せたらいいなという感じです。高速化の方法として今は頭の片隅に入れて置きます。

作成者:  MML [ 2008年4月17日(木) 19:11 ]
記事の件名: 

Visual Basicは確かインタプリタだったような気がするのですが。

作成者:  konisi [ 2008年4月18日(金) 01:49 ]
記事の件名: 

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

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

作成者:  tak [ 2008年4月18日(金) 18:39 ]
記事の件名: 

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

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

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

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

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/