--- kind: CONCEPT slug: messaging-schema-json-c06 title: 메시지당 유지 메모리를 성능 테스트가 간접 확인한다 topic: state-machines-and-ownership project: clean-architecture-backend-template status: 게시 전 sourceRevision: 21234e38cdb9a926cbc92bb97a2aee2e4a7d2916 rootTreeNode: concept:messaging-schema-json-c06 evidenceCapturedOn: 2026-09-01 assets: - key: messaging-schema-json-c06 file: ../../../final/evidence/rendered/messaging-schema-json-c06.svg evidence: - ../../../final/evidence/raw/messaging-schema-json-c06.txt source: - 원본 분석 절은 analysis/messaging/messaging-schema-json.md#L263 이다. module: messaging-schema-json --- # 메시지당 유지 메모리를 성능 테스트가 간접 확인한다 `JacksonMessageCodec`은 불변이고 `BoundedByteSink`는 매 `encode`마다 새로 만들어져 공유되지 않는다. ## 관계 - **실패 코드는 운영자의 다음 행동이 갈리는 지점마다 나눈다** 같은 분석 리프에서 끌어낸 규칙이다. ## 본문 `JacksonMessageCodec`은 불변이다 — `registry`는 `Map.copyOf`, `maxBytes`는 int, `mapper`는 빌드 후 재구성되지 않는 Jackson `ObjectMapper`(스레드 안전). `BoundedByteSink`는 매 `encode`마다 새로 만들어지므로 공유되지 않는다. ## JacksonMessageCodec 참조 위치 :::evidence key="messaging-schema-json-c06" alt="코드베이스에서 JacksonMessageCodec 를 검색한 출력 39줄. 이 기록이 세는 참조가 그 출력에 그대로 보인다." caption="JacksonMessageCodec 코드베이스 검색 — 39줄 · exit 0" zoom="true" ::: ## 성능 테스트가 간접 확인하는 것 `PlatformOverheadPerformanceTest.aRoundTripDoesNotAllocateAGrowingRetainedSet`이 codec이 메시지별 상태를 보유하지 않음을 간접 확인한다(메시지당 유지 메모리 64바이트 미만).