Web Workers · 26 메모리와 풀 한도
단계: 처리량과 응답성 검증 · 편집 가능한 예제 · 저장 ID: web-workers-step-26
목표와 학습 후 역량
- 학습 결과: 피크 사용량의 역할을 설명한다. 입력 사례: 같은 작업 20개.
- 산출물: 최대 동시 버퍼 바이트와 잔여 참조 수. 한도 처리 근거를 코드와 연결해 설명한다.
선수 지식
25단위 「전체 지연 측정」의 왕복 비용 및 시계 기준 실습 결과를 준비한다.
핵심 개념과 설명
피크 사용량
동시 버퍼는 피크 메모리를 늘린다. 완료 후 참조를 남기면 회수가 늦어진다.
한도
pool 크기와 큐 길이를 함께 제한한다. buffer 재사용은 소유권 상태를 확인한 뒤 한다.
실습 준비
예제 화면의 실행 범위 안내를 먼저 확인하세요. 다음은 과제를 별도 프로젝트로 확장할 때의 준비 환경입니다. 기존 web-workers-01·02·03은 시작 예제이며 새 과제는 별도 로컬 HTTP 프로젝트의 main.js와 worker.js로 작성한다. CSP와 iframe 격리를 유지한다. SharedArrayBuffer는 자신이 통제하는 외부 서버의 COOP·COEP 조건을 확인하며 미충족 시 transfer 경로를 사용한다. 성능 수치는 직접 측정한다.
연결된 예제는 출발점입니다. 아래 과제 전체가 완성된 코드는 아니며, 예제의 지원 범위를 넘는 작업은 별도 프로젝트에서 수행하세요.
실습 과제
- 별도 실습 프로젝트의 src/day-26.js에 버퍼 크기·inFlight 수를 기록하고 완료 목록에서 큰 참조를 제거한다. 기존 1·14·28단위 예제는 출발점으로만 참고한다.
- 입력 조건: 같은 작업 20개. 기준: 1개. 기준 조건에서 실행한 뒤 관찰값과 오류를 notes/day-26.md에 남긴다.
- 변경 변수: 동시 작업. 변경값: 4개. 같은 입력 경로로 다시 실행한다. 저장할 산출물: 최대 동시 버퍼 바이트와 잔여 참조 수. 확인할 가설: 피크 버퍼 사용량이 증가할 수 있다. 실제 결과와 비교해 일치 여부 및 차이의 원인을 기록한다.
관찰할 변수
| 변수 | 기준 조건 | 바꿀 조건 | 예상할 변화·검증 가설 |
|---|---|---|---|
| 동시 작업 | 1개 | 4개 | 피크 버퍼 사용량이 증가할 수 있다. |
표의 예상은 측정 결과가 아닙니다. 한 번에 한 조건만 바꾸고 실제 결과가 다르면 원인을 기록하세요.
완료 조건
- 필수 산출물: 최대 동시 버퍼 바이트와 잔여 참조 수. 기준 및 변경 조건 각각의 결과가 있어 총 2조건을 비교할 수 있고, 입력값과 실행 환경을 함께 기록했다.
- 두 조건의 차이에 관한 설명에 다음 개념을 모두 연결했다: 피크 사용량, 한도. 예상과 다른 항목은 원인 또는 미해결 이유를 1개 이상 적었다.
자가 점검
- 이번 실습에서 피크 사용량 개념은 어느 처리 단계에 영향을 주는가? 입력 사례: 같은 작업 20개.
- 변경 변수: 동시 작업. 확인할 가설: 피크 버퍼 사용량이 증가할 수 있다. 실제 결과가 가설과 일치했는가? 한도 관점에서 근거를 설명하라.
공식 참고
연결된 예제와 실행 범위
Interactive 메모리와 풀 한도 experiment with resource cleanup.
원본 코드·기록은 자동으로 덮어쓰지 않습니다. 기존 예제를 초기화할 때도 필기는 유지됩니다.