[Protra-members] 処理系の速度向上

Back to archive index

panacoran panac****@yahoo*****
2008年 3月 13日 (木) 01:19:19 JST


--- darai <darai****@users*****> wrote:

> 下記の処理速度の向上は、どのようにして達成するのでしょうか。
> ぜひ教えてください。

恥ずかしながら大したことはしていません。

構文解析の速度向上には、字句解析で使っている正規表現にコンパイル
済みのものを用いるようにしたことが効きました。実行速度の向上には
、HashtableやArrayListをGenericsのDictionaryやListで置き換えたこ
とが効きました。

構文解析には不自然なところや非効率なところがいろいろあったので、
字句解析はゼロから書き直し、構文解析にも全体にわたって手を入れま
した。その結果、ワンパスで単純な構文木が生成されるようになりまし
た。しかし、速度向上への寄与は、正規表現のコンパイルが圧倒的に大
きいです。

実行処理については、デリゲートの呼び出しはかなり遅いので、組み込
み関数をデリゲートで実行するのをやめてみました。その他にも細かい
チューニングを施しました。しかし、これらの速度向上への寄与は、Generics
の利用によるものに比べると小さいです。

-- panacoran




Protra-members メーリングリストの案内
Back to archive index