GARDEN

태그: 메모리 통치

“메모리 통치” 태그의 글

총 1편 ·

10-19

십이 밀리초 긴 프레임의 추적:bitmap 풀이 항상 비었던 날, GC churn이 바로 버벅임의 진범이었다

B視機의 라이브 방송 탄막이 버벅인다. 실기 실측이 「엔진이 버티지 못한다」는 가설을 뒤집었다——60Hz 패널 위에서 58-59fps 거의 가득 차고, 캐시 명중 100%. 진짜 반점은 십 초에 한 프레임의 십이 밀리초 긴 프레임이고, 로그 속의 pool=0.0/25MB가 철증이었다. 더 파고들자 근인은 설계 문제였다——풀과 비트맵 예산이 같은 이십오 MB 한도를 공유하고, 또 예산腾挪 때 evictPooled가 제일 순위였다——탄막 비트맵이 풀에 들어온 지 얼마 안 돼, 다음 새 탄막이 한도를 신청할 때 풀을 퍼내어 회수한다. 수정 후 더 깊은 한 겹이 드러났다——공유表의 도태와 예산腾挪가 모두 직접 recycle하여 풀을 통과하지 않고, 풀 유일한 먹이 주는 경로는 참조 카운팅에 가로막혀 있었다. 한 번의 논리 자기 부정을 거쳐, 모순되지 않는 전략이 비로소 찾아졌다.

전체 읽기 ›
← 디지털 가든