| [ CnUnix ] in KIDS 글 쓴 이(By): swhan (foo bar) 날 짜 (Date): 2002년 11월 21일 목요일 오후 03시 05분 36초 제 목(Title): Re: [Q]c 질문 같은 용량으로 일정하게 new free를 반복한다면 그럴법도 합니다. 약간의 계산은 들어가나 sbrk의 호출은 없을꺼고 malloc 알고리즘에 따라서는 마지막에 되돌려진 공간을 다시 반환해주는 경우도 있을테니 오버헤드라고 해봤자 수만번의 malloc계산과 list관리 정도일텐데 이건 큰 오버헤드가 안 될 수 있을 것 같은데요. 생각난김에 아주 간단한 테스트를 해봤습니다. 10만번 malloc과 free를 반복하는 loop를 돌리고 코드 최적화는 하지 않았습니다. loop안에는 오직 malloc/free만 있습니다. malloc size :900*1000 byte -> 약 7.0초 /10만번 malloc size :500*1000 byte -> 약 5.6초 /10만번 P4 1.5GHz cygwin이고 time명령을 이용했습니다. user time 과 sys time은 약간씩 변하지만 real time은 거의 일정하군요. 7초의 시간.. 초당 1만건 근처의 malloc/free.. 상황에 따라서 무시할 수 있는 시간이 될 수 있겠네요. 그런데.. 시뮬레이션 하는 상황에서 메모리를 수백KB정도만 이용하는 경우가 얼마나 되나요? 전 그런건 안해봐서 -.-a |