[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mhc:00680] Re: TSU_SPEED のマージの前に



>> On Thu, 1 Jun 2000 15:10:48 +0900
>> "nom" == nom@xxxxxxxxxxxxxxxxxxx (Yoshinari NOMURA) said as follows:

nom> すると、x日分で y個のスケジュールがあると、
nom> x * y で効いてきませんか?

YES.

nom> intersect/ がどのぐらいまで耐えられるのだろう。

それは分かりませんが、byte-compile した関数が呼び出されるように工夫し
ているので、相当程度には耐えられるはずです。


nom> 僕の方法は、それだと辛そうだったので、
nom> parse した時点で tree に入れています。

nom> -2nd +- Tue -(schedule1 schedule2 schedule3)
nom>      +- Wed -(schedule4 schedule1)

はい、この方式を理解した上で、それでも検索が高速になるから大丈夫だろう
と思って、実装が楽な方を取りました。


nom> # 実は、byte-compile しなれば、ほぼ同じ実行時間ではないですか?

ええっ? そうかなぁ、私の手元の計測では双方ともに byte-compile しない状
態でも2倍くらい違うんですけど…。

# 確かに、私のコードは defmacro / defsubst で実行速度を稼いでいる点は
# 否めません。


nom> 試しに .schedule を 26個 cat して
nom> C-c. で一度データを作らせておいて、
nom> C-c. を 1回やってみると、速度は逆転しました。

ということは、理論上は intersect/ に 18 * 26 = 468 個のスケジュールを
置くと逆転すると予想されますね。

これって、かなり十分な数だと思うんですけど。


nom> X-SC-Schedule: の導入によって intersect/ に入る率が増えそうで、
nom> ちょっと心配です。

これは以前にも提案しましたが、

    2000/intersect
    2000/04
    2000/04
    ...
    2001/intersect
    ...
    intersect/

という切り分けで、ある程度対処できるのではないでしょうか。


-- 
土屋 雅稔  ( TSUCHIYA Masatoshi )
    http://www-nagao.kuee.kyoto-u.ac.jp/member/tsuchiya/