Ω/CHISEの処理速度(Re: Ω/CHISE with book class)

Izumi MIYAZAKI imiyazaki @ bun.kyoto-u.ac.jp
2004年 1月 21日 (水) 16:55:52 JST


宮崎です。

# 長いので分割します。

Ω/CHISE の処理速度の話です。

> ただ、処理速度は激遅ですね。10 頁ぐらいなら我慢できますが、440 頁ぐら
> いのファイルを P-III 1GHz dual で lambda にかけると2時間半ぐらいかか
> るのはもう少し何とかならないだろうかと思います。これは Perl のせいなん
> でしょうか?それとも CHISE DB へのアクセスが遅いんでしょうか?後者だと
> すると、キャッシュを使えば少しは改善するのかも(libchise でキャッシュ
> をサポートして、Perl からもlibchise を使うように出来ると綺麗かも)。ま
> た、もしかして、Ω と OCP/OTP のやりとりが遅いんでしょうか?

外部OTPの中にも、たぶん無駄なDBへのアクセスが残っていると思うので、も
う少し外部OTP自体の処理速度を上げれるかもしれません。無駄なDBへのアク
セスがあるのは、私がちゃんとDBの中身を理解せずに場当たり的に対処してい
る所があるからです。

あと、multifont を使うと、かなりDBへのアクセスが増えるのもありますね。

ただ、外部OTP自体の処理速度は、普通のPerlスクリプトとして外部OTPを実行
してもらえば分かりますが、Ωから呼んだ時ほどひどいことはありません。

例)

  $ perl /usr/local/share/texmf/omega/ocp/local/chise/inCHISE -i Utf8mcs -o UniMulti test.tex

# プリアンブルやマクロまで処理してしまいますが。

で、何故Ωから呼んだ時にこれほど遅くなるかというと、Ωがパラグラフ毎に
OTPを呼び出すため、DBのopen/closeがパラグラフ毎に起こってしまうからだ
と思います。HDDへのアクセスも伴いますし。

libchiseを使って、その辺を改善する方法はあるでしょうか?
具体的な方法が分からないので、もう少し説明してもらえないでしょうか?
--
宮崎 泉 imiyazaki @ bun.kyoto-u.ac.jp




More information about the CHISE-ja mailing list