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

Re: memmove,memset



神木です。
わりと脇道ですが、...

   >X-Ml-Count: 2086
   >だいたい メモリバンド幅+ α キャッシュ残留分ぐらいで止まるみたいで。
   >だから PenII は、520MB/sec ぐらいなんでしょう。
   >  | Pentium II 450(?) -O3だと
   >  | memcpy       : 268817 k byte/sec
   >  | memmove_fwd  : 265251 k byte/sec
   >  | memmove_back : 264550 k byte/sec
   >  | memset       : 341296 k byte/sec
   >  | xmemset      : 338983 k byte/sec
   >  | xmemmove_fwd : 221238 k byte/sec
   >  | xmemmove_back: 235294 k byte/sec

PenII の↑は もしかしてオンチップの 2nd cache 速度を測ってません?
総転送量は 100kB だから 2nd cache に入りますよね?


ちなみにオンチップ 2nd cache が 256KB あって
あからさまに 2nd cache 測ってるだけの K6-III/400 だと
こんなん↓になりました。

memcpy       : 492610 k byte/sec
memmove_fwd  : 456621 k byte/sec
memmove_back : 520833 k byte/sec
xmemset      : 769230 k byte/sec
xmemmove_fwd : 531914 k byte/sec
xmemmove_back: 490196 k byte/sec

転送量を 1MB にするとここまで落ちます:

memcpy       : 117647 k byte/sec
memmove_fwd  : 121951 k byte/sec
memmove_back :  77519 k byte/sec
memset       : 142857 k byte/sec
xmemset      : 135135 k byte/sec
xmemmove_fwd :  78740 k byte/sec
xmemmove_back:  75187 k byte/sec

-- 
神木一也
kensyu@y.email.ne.jp