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