2010-11-19 3 views
6

저는 현재 C 언어로 2D 장면 그래프를 작성하려고하고 있습니다. 하위 노드를 저장하는 방법을 결정해야합니다. 매우 많은 읽기와 적은 쓰기가 예상되므로 연결 목록은 참조의 빈약 한 지역성 때문에 문제가되지 않으며 자식 노드를 추가 할 때마다 realloc을 사용할 때마다 무료 목록이 망각으로 조각 나게됩니다. 풀 할당자가 가장 좋은 해결책 인 것처럼 보이지만 사용할 구현을 찾을 수없는 것 같습니다. 누구든지 효율적으로 무작위 배정을 처리 할 수있는 할당자를 알 수 있습니까? 수백 또는 0의 작은 할당을 해제합니다. struct 또는 더 나은 할당 체계일까요?효율적인 C 풀 할당 자?

답변

4

나는 실시간 할당 등 TLSF를 배포 할 준비를하고있다. 나는 아직 성능을 프로파일 링 할 기회가 없었지만 작동하는 것처럼 보였습니다. license이 옳습니다.

해당 문서에 따르면 해당 작업은 "x86 아키텍처에서 최대 168 개의 프로세서 명령어"를 실행합니다. 그것은 내 시스템에 수정없이 컴파일 된 단일 .c 파일로 제공됩니다.

+0

링크가 끊어졌습니다. – CAFxX

+0

@CAFxX - 수치심. Google은 나에게 일부 대체 사이트를 찾았지만 누구도 공식 사이트로 보이지 않습니다. 바라기를 바꿀 것이다. –

+0

예! 고맙습니다. @Electro. 반 무작위 upvote. 군중에 근거한 지식을 얻기위한 또 다른 승리. –

2

halloc을 보시면 도움이 될 것입니다.

http://swapped.cc/halloc/

+0

'halloc'은 재미있을 것 같지만 여전히 malloc의 최상위에서 작동하므로 조각 할당 문제는 남아 있지만 풀 할당 자의 시작점으로 유용 할 수도 있습니다. – Electro