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.
예상과 다르지 않은 결관데, 블럭 사이즈가 128로 동일한게 좀 걸리네. 앞글에도 있듯이 LFH가 16K까지만 유효한 관계로 메모리 블럭이 16K 초과까지 다양하게 있다면 그 효과로 인해서 결과가 좀 달라졌을지도...
ReplyDelete근데 비슷하에서 LFH가 디폴트 아니었나, 디폴트와 결과가 다르다니 이건 알고 있던거와 다르다ㅋ
//조성경
ReplyDelete16k 넘는 건 standard heap 에서 자동으로 할당한다고 하니, 크게 문제되지 않을 거 같아요. 모든 객체의 크기가 16k 가 넘는다고 하면 그건 프로그램을 잘못 짠거니 ㅋㅋ
2003 Server, Windows7 에서도 Default 는 아닌 듯 해요.
뭔가 이유가 있겠죠?
This comment has been removed by the author.
ReplyDelete