jun-wiki

View My GitHub Profile

Posts (Latest 10 updated) :
Read all

오늘은 어제 하던 거 이어서 했다

쬐깐이 제거하는 거는 생각보다 쉽지 않은 일이라 걍 세그리게이티드 리스트를 쓰기로 결정했다

끝의 가용블록을 늘리는 방식도 도입해보았지만 유의미한 성과는 거두지 못했기에 말이다

세그리게이티드 바꾸고 이것저것 하며 하루종일 시간을 썼는데…

유의미한 성과는 거두지 못했다

뭐가 문제인지는 모르겠다…


그리고 어제 개선사항 다시 읽어보니까 뭔가 이상하다

trace 9는 4096바이트 할당과 병합관련 내용이 아니니 말이다

trace 4가 4096관련이고 말이다

물론 trace 4도 올랐지만 9가 오른 이유를 안 적었다

그럼 왜 trace 9가 올랐냐?

trace 9의 경우
할당하고 작은거 할당하고 재할당하고 작은거 해제해가며 조금씩 재할당 크기를 늘려가는 방식이다

그리고 기본 힙이 배정받을 경우 꼬리 블록이 남게 된다

앞에 남는 가용블록이 충분히 커져 재할당을 할 수 있게 되어도 꼬리 블록은 남기에 최대 힙 영역은 쓸데 없이 커진다는 거다…

그치만 초기에 힙영역 자체를 할당해주지 않는다면???

그렇다면 당연하게도 꼬리 블록이 없을테니 util면에서 훨씬 효율적이게 된다

그리고 그 덕에 util도 올라가는 거고 말이다


오늘 그 외에도 몇가지 했지만 결과적으로는 점수에 영향을 끼치지 못했기에 적지 않겠다

세그리게이티드 리스트 방식도 구현했지만 util은 그대로라 효과는 없었다…