Island Life

< Paul GrahamのY Combinator... | 年の瀬である。ハワイでは年に2度しかない... >

2005/12/24

るびま0012号で、 えとさんがhtmlを配列を使ったツリーで扱うわびさび方式 について書いているのだが、その欠点として「(文字列操作に比べて)遅くなる」 というのを挙げている。なぜだろう。

基本的にわびさび方式はSXMLなんかと同じなわけだが、SXMLで扱う場合、 データ構造の製作中はツリー同士の結合がツリーの大きさに係わらず O(1)でできるわけで、ナイーブな文字列連結のコストに対して非常に大きな ゲインだ。それに比べたら出力時の木のトラバースなんて問題にならない ように思える。なので遅くなる理由が思い付かない。

非常に単純なケースで、 バッファリング無し、フォーマッティング無しで文字列の断片を出力してく だけの処理ならツリーで扱うよりは速いだろうけれど。 エラー時の処理とか考えたら文字列で扱う場合でもどうしても一回は バッファリングが必要になると思うしなあ。

もちろん文字列の実装がスマートで内部的にツリーを使ってるなら 話は別だが。

Tag: Programming