Yuya Kato
yuya****@katod*****
2002年 7月 16日 (火) 22:38:42 JST
Yuyaです。 調査ありがとうございます。 On Tue, 16 Jul 2002 22:05:46 +0900 NAKANO Kouichi <knuck****@f8*****> wrote: > どうやら、最適化がおかしい説が有力なようです。 うが。 > VC++のデフォルトの最適化オプションでは(inline、__inline)指定し > ていない関数もインライン展開されるようで、nextc()がインライン展 > 開されています。そして何故かレジスタとスタックフレームの使いまわ > しに失敗しているみたいです。 > parse.cの最適化オプションを別のものに変えるとうまくいきます。 > インライン展開を無効にするとか、実装速度でなくプログラムサイズに > するとか。 > いまどきのプロセッサはキャッシュがあるので、最適化オプションをプ > ログラムサイズ優先にしたほうがキャッシュヒット率が上がって速くな > るという話も聞きます。NTのカーネルはプログラムサイズ優先らしいと > いう記事をMSDN Magazineで読んだ覚えもあったりします。 > とりあえずparse.cだけプログラムサイズ優先に変えますか? 思い切ってすべてのファイルの最適化オプションを「プログラムサイズ優先」 にしませんか? というのも、やはりコアサイズは小さいに超したことはないので。 速度的にそれなりの差がでるようならば、parse.cだけを変えた方が 良いかも知れませんが・・・。 ちなみに、「実行速度優先」でコンパイルした場合のCUI版コアのサイズは 598,016バイトで、同「プログラムサイズ優先」のサイズは512,000バイト でした。 とりあえずparse.cだけ「プログラムサイズ優先」に変えておきますね。 # つーか、これって、結構クリティカルなバグですよね、、、 # 1.1.0をリリースしたほうがいいですかね? ====== Yuya Kato ====== E-Mail yuya****@katod***** Web http://yuya.4th.to/ i-mode http://yuya.4th.to/i/