view 2014/February/memo/03rd.txt @ 32:07176dd2dddc

add 03rd.txt
author Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp>
date Mon, 03 Feb 2014 20:35:58 +0900
parents 5c7d17c36564
children 37d843c14923
line wrap: on
line source

2014/02/03 (Mon)
    [program]
        とりあえず、manager->allocate の内部実装を int -> long long に変更した。
        regex_mas 2GB 以上の file を読み込ますと、mmap と divide read の違いで結果が違ってしまう。 -> 多分、ちゃんと読み込みされていないのでは??

        grep -c "doing" 2g.txt  -> 5209072
        ./regex -file 2g.txt -sw doing -cpu 4      -> 5209072
        ./regex -file 2g.txt -sw doing -cpu 4 -dr  -> 5190577

        ./regex -file 3g.txt -sw doing -cpu 4      -> 7799680
        ./regex -file 3g.txt -sw doing -cpu 4 -dr  -> 5190577

        やっぱり 2GB の壁くさい

        segmentation fault が起こらないということは、ちゃんと allocate はされているっぽい。
        ということは、やはり read 関係のどこかで 2GB 制限がかかってるのではないか。
        (API を int -> long long にかえないといけない部分がまだ存在すると思われる。

        divide read mode 時、wbuf の address の動きが怪しい
        long だと MAX が約2GB。つまりどこかで long long にしないとこれは直らない。