SSブログ

amalgamationの様子をみる~その3 [SQLite]

「./tool/vdbe-compress.tcl」を見て行きます。冒頭にコメントが書かれているので、とりあえずそれを読んでみましょう・・。

ソースファイル「vdbe.c」をいじって「sqlite3VdbeExec()」実行時のスタックサイズを減らすとのこと。「vdbe.c」って、どっかから持ってきたソースなんでしょうかねぇ・・。

ところで、前回、このスクリプトが「target_source」を作成してるとか想像してましたが、「target_source」のルールの末尾に書かれている「touch target_source」が該当のファイルを作っているようですね。「touch」コマンドはファイルが無い場合に空のファイルを作成するそうです。タイムスタンプを変えるだけかと思ってました・・。

*

それはさておき、このスクリプトは特に実行しなくてもいいとのこと。実行してもしなくてもソースの動作結果は変わらない様です。単純にスタックを減らすためとのこと。組み込み向けですかね・・?

スタックの削減方法ですが、ローカル変数を個々の「opcode」の実装から抜き出して、一つの共用体(union)に詰め込んでいるとのこと。まあ、具体的には変更前と変更後のソースを見比べないと何ともわかんないですね。


ま、こういう処理もしていると言うことで、これについてはここまでにしておきます。







nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

ブログを作る(無料) powered by SSブログ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。