checkstack.pl
SigSchemeに使用してみた。
ubuntu% ls *.o | xargs objdump -d | perl checkstack.pl 0x0246 scm_call_with_current_continuation: 188 0x00000726 read_sexpression: 164 0x00001276 scm_int2string: 156 0x00000346 format_internal: 124 0x00002776 scm_expand_macro: 124 0x00000536 read_symbol: 116 0x000023f6 qquote_internal: 108 0x00002016 transcribe_rec: 104 0x00c6 scm_load_internal: 96 0x0146 scm_mb_substring: 92 0x0196 mbcport_fill_rbuf: 84
80 byte以上消費する関数を表示させてみた。文字列を扱う為のバッファを持ってる関数は分かるんだが、read_sexpressionなんかはサブルーチンコールが多いのでその為のスタック領域の確保が高くついている(←合ってる?)のかな。まぁ特に最適化出来そうな所は無さそげ。