Monday, April 20, 2009

Benchmark of memory allocators.

I did a benchmark test of memroy allocators.
Standard allocator, DLMalloc, LFH.
(The standard allocator is 'std::malloc' and 'std::free').

I did the test with various environment.
Fortunately, the one image can show the result. (Of course, my original document has lots of results.)


Number of threads : 4
Block size : 128
Number of allocations : 2,000,000

CPU : Intel Core2 Quad Q6700 @2.66GHz
OS : Windows Vista
RAM : 4GB

Summary : LFH is the best.

3 comments:

  1. 예상과 다르지 않은 결관데, 블럭 사이즈가 128로 동일한게 좀 걸리네. 앞글에도 있듯이 LFH가 16K까지만 유효한 관계로 메모리 블럭이 16K 초과까지 다양하게 있다면 그 효과로 인해서 결과가 좀 달라졌을지도...

    근데 비슷하에서 LFH가 디폴트 아니었나, 디폴트와 결과가 다르다니 이건 알고 있던거와 다르다ㅋ

    ReplyDelete
  2. //조성경
    16k 넘는 건 standard heap 에서 자동으로 할당한다고 하니, 크게 문제되지 않을 거 같아요. 모든 객체의 크기가 16k 가 넘는다고 하면 그건 프로그램을 잘못 짠거니 ㅋㅋ

    2003 Server, Windows7 에서도 Default 는 아닌 듯 해요.
    뭔가 이유가 있겠죠?

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete