듀얼 스레드 할당자는 동적 힙과 버킷 할당자를 결합한 래퍼입니다. 구체적으로는 다음을 결합합니다.
다음과 같이 두 가지 동적 힙 할당자의 블록 크기를 커스터마이즈할 수 있습니다.
사용량 보고서는 할당자의 세 부분 모두에 대한 정보를 포함합니다. 예를 들면 다음과 같습니다.
[ALLOC_DEFAULT] Dual Thread Allocator
Peak main deferred allocation count 135
[ALLOC_BUCKET]
Large Block size 4.0 MB
Used Block count 1
Peak Allocated bytes 3.3 MB
[ALLOC_DEFAULT_MAIN]
Peak usage frame count: [16.0 MB-32.0 MB]: 8283 frames, [32.0 MB-64.0 MB]: 1 frames
Requested Block Size 16.0 MB
Peak Block count 2
Peak Allocated memory 53.3 MB
Peak Large allocation bytes 40.2 MB
[ALLOC_DEFAULT_THREAD]
Peak usage frame count: [64.0 MB-128.0 MB]: 8284 frames
Requested Block Size 16.0 MB
Peak Block count 2
Peak Allocated memory 78.3 MB
Peak Large allocation bytes 47.3 MB
참고: Peak main deferred allocation count는 삭제 대기열의 항목 수입니다. 메인 스레드는 모든 할당을 삭제해야 합니다. 다른 스레드에서 할당을 삭제하면 해당 할당은 대기열에 추가됩니다. 이 할당은 메인 스레드가 삭제할 때까지 대기열에서 기다립니다. 그런 다음 지연된 할당으로 계산됩니다.