--- id: wiki-2026-0508-time-slicing title: Time Slicing category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [] duplicate_of: none source_trust_level: A confidence_score: 0.92 tags: [auto-consolidated, technical-documentation] raw_sources: [] last_reinforced: 2026-05-08 github_commit: pending inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- # [[Time Slicing|Time Slicing]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) Time Slicing(νƒ€μž„ μŠ¬λΌμ΄μ‹±)은 Reactμ—μ„œ λŒ€κ·œλͺ¨ λ Œλ”λ§ μ—…λ°μ΄νŠΈ μž‘μ—…μ„ 더 μž‘μ€ λ‹¨μœ„(청크)둜 λΆ„ν• ν•˜μ—¬ UI의 λ°˜μ‘μ„±μ„ μœ μ§€ν•˜λŠ” μ΅œμ ν™” κΈ°λ²•μž…λ‹ˆλ‹€ [1, 2]. 이 κΈ°λŠ₯을 톡해 ReactλŠ” λ Œλ”λ§ μž‘μ—…μ„ μΌμ‹œ μ€‘μ§€ν•˜κ³  μ‚¬μš©μž μž…λ ₯ λ“± μš°μ„ μˆœμœ„κ°€ 높은 μž‘μ—…μ„ μœ„ν•΄ λΈŒλΌμš°μ €μ— μ œμ–΄κΆŒμ„ λ„˜κΈ΄ ν›„, μ€‘λ‹¨λœ μœ„μΉ˜λΆ€ν„° λ Œλ”λ§μ„ λ‹€μ‹œ μž¬κ°œν•  수 μžˆμŠ΅λ‹ˆλ‹€ [3]. 결과적으둜 λ™μ‹œμ„± λ Œλ”λ§([[Concurrent Rendering|Concurrent Rendering]])κ³Ό ν•¨κ»˜ μž‘λ™ν•˜μ—¬ λ³΅μž‘ν•œ μ—…λ°μ΄νŠΈ μƒν™©μ—μ„œλ„ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ λ©ˆμΆ”μ§€ μ•Šκ³  μ›ν™œν•˜κ²Œ λ™μž‘ν•˜λ„λ‘ 보μž₯ν•©λ‹ˆλ‹€ [4]. --- νƒ€μž„ μŠ¬λΌμ΄μ‹±(Time-Slicing)은 λŒ€κ·œλͺ¨ λ Œλ”λ§ μž‘μ—…μ„ 더 μž‘μ€ 쑰각(chunk)으둜 λΆ„ν• ν•˜μ—¬ μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€(UI)의 λ°˜μ‘μ„±μ„ μœ μ§€ν•˜λŠ” React의 μ΅œμ‹  κΈ°λŠ₯μž…λ‹ˆλ‹€ [1, 2]. 이 κΈ°λŠ₯을 톡해 ReactλŠ” λ Œλ”λ§ ν”„λ‘œμ„ΈμŠ€λ₯Ό μΌμ‹œ μ€‘μ§€ν•˜κ³ , 클릭 이벀트 μ²˜λ¦¬μ™€ 같은 μš°μ„ μˆœμœ„κ°€ 높은 μž‘μ—…μ„ μœ„ν•΄ λΈŒλΌμš°μ €μ— μ œμ–΄κΆŒμ„ 양보(yield)ν•œ λ’€ μ€‘λ‹¨λœ λΆ€λΆ„λΆ€ν„° λ‹€μ‹œ λ Œλ”λ§μ„ μž¬κ°œν•  수 μžˆμŠ΅λ‹ˆλ‹€ [3]. νƒ€μž„ μŠ¬λΌμ΄μ‹±μ€ 메인 μŠ€λ ˆλ“œκ°€ μ°¨λ‹¨λ˜λŠ” 것을 λ°©μ§€ν•˜κ³  λ™μ‹œμ„± λ Œλ”λ§([[Concurrent Rendering|Concurrent Rendering]])을 κ°€λŠ₯ν•˜κ²Œ ν•˜λŠ” 핡심 λ©”μ»€λ‹ˆμ¦˜μž…λ‹ˆλ‹€ [1, 3, 4]. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) * **μž‘μ—…μ˜ λΆ„ν• κ³Ό μ œμ–΄κΆŒ 양보 (Yielding):** Time Slicing은 κΈ΄ μ‹œκ°„μ΄ μ†Œμš”λ˜λŠ” λŒ€κ·œλͺ¨ μ—…λ°μ΄νŠΈλ₯Ό 더 μž‘μ€ 청크(chunk) λ‹¨μœ„λ‘œ μͺΌκ°œμ–΄ μ²˜λ¦¬ν•©λ‹ˆλ‹€ [1, 2]. 이λ₯Ό 톡해 ReactλŠ” λ Œλ”λ§ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 도쀑에 λΈŒλΌμš°μ €λ‘œ μ œμ–΄κΆŒμ„ 양보(yield)ν•  수 μžˆμ–΄ 메인 μŠ€λ ˆλ“œκ°€ μž₯μ‹œκ°„ μ°¨λ‹¨λ˜λŠ” 것을 λ°©μ§€ν•©λ‹ˆλ‹€ [2]. * **μš°μ„ μˆœμœ„ 기반 λ Œλ”λ§ (Lane-Based Priority):** 이 과정은 React의 Fiber μ•„ν‚€ν…μ²˜ λ‚΄μ—μ„œ "Lanes(레인)"라고 λΆˆλ¦¬λŠ” μš°μ„ μˆœμœ„ 기반 μ‹œμŠ€ν…œμ„ 톡해 κ΄€λ¦¬λ©λ‹ˆλ‹€ [3]. 클릭 μ΄λ²€νŠΈλ‚˜ 타이핑 같은 μš°μ„ μˆœμœ„κ°€ 높은 μž‘μ—…μ΄ λ°œμƒν•˜λ©΄, μ§„ν–‰ μ€‘μ΄λ˜ λ Œλ”λ§μ„ μΌμ‹œ μ€‘μ§€ν•˜κ³  κΈ΄κΈ‰ν•œ μž‘μ—…μ„ λ¨Όμ € μ²˜λ¦¬ν•œ λ’€ 남은 λ Œλ”λ§μ„ μ΄μ–΄μ„œ μ§„ν–‰ν•©λ‹ˆλ‹€ [3]. * **μ„±λŠ₯ 및 UI λ°˜μ‘μ„± ν–₯상:** Time Slicing은 λ™μ‹œμ„± λ Œλ”λ§(Concurrent Rendering) 및 점진적 λ Œλ”λ§(Incremental Rendering) μ•„ν‚€ν…μ²˜μ™€ κΈ΄λ°€ν•˜κ²Œ κ²°ν•©λ˜μ–΄ μž‘λ™ν•©λ‹ˆλ‹€ [4]. μ΄λ“€μ˜ 쑰합은 λ³΅μž‘ν•˜κ³  무거운 UI μ—…λ°μ΄νŠΈκ°€ μˆ˜ν–‰λ˜λŠ” λ™μ•ˆμ—λ„ μ•±μ˜ 응닡성을 μœ μ§€μ‹œμΌœ μ‚¬μš©μž κ²½ν—˜μ„ 크게 ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€ [4]. --- - **λ Œλ”λ§ μž‘μ—…μ˜ λΆ„ν•  및 양보(Yielding):** React의 νƒ€μž„ μŠ¬λΌμ΄μ‹±μ€ 크고 λ³΅μž‘ν•œ μƒνƒœ μ—…λ°μ΄νŠΈλ₯Ό 단일 ν†΅μ§Έλ‘œ μ²˜λ¦¬ν•˜λŠ” λŒ€μ‹  μž‘μ€ λ‹¨μœ„λ‘œ μͺΌκ°­λ‹ˆλ‹€ [2]. 이λ₯Ό 톡해 ReactλŠ” μž‘μ—… μ€‘κ°„λ§ˆλ‹€ λΈŒλΌμš°μ €μ— μ œμ–΄κΆŒμ„ 양보할 수 있으며, μ‚¬μš©μž μž…λ ₯(타이핑, 클릭 λ“±)κ³Ό 같은 κΈ΄κΈ‰ν•œ μƒν˜Έμž‘μš©μ΄ λ Œλ”λ§ μž‘μ—…μœΌλ‘œ 인해 μ§€μ—°λ˜κ±°λ‚˜ λ©ˆμΆ”λŠ” ν˜„μƒμ„ λ°©μ§€ν•©λ‹ˆλ‹€ [2, 3]. - **Fiber μ•„ν‚€ν…μ²˜μ™€μ˜ 연계:** νƒ€μž„ μŠ¬λΌμ΄μ‹±μ€ React 16μ—μ„œ 동기식(synchronous) λ Œλ”λ§μ˜ ν•œκ³„λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄ λ„μž…λœ νŒŒμ΄λ²„(Fiber) μ•„ν‚€ν…μ²˜μ— μ˜ν•΄ ν™œμ„±ν™”λ©λ‹ˆλ‹€ [3, 4]. νŒŒμ΄λ²„ μ•„ν‚€ν…μ²˜ ν•˜μ—μ„œ λ Œλ”λŸ¬λŠ” μž‘μ—…μ„ 관리 κ°€λŠ₯ν•œ 'μž‘μ—… λ‹¨μœ„(units of work)'둜 λ‚˜λˆ„μ–΄ μŠ€μΌ€μ€„λŸ¬κ°€ λ Œλ”λ§ 과정을 더 μœ μ—°ν•˜κ²Œ μ œμ–΄ν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€ [3, 5]. - **Lanes 기반 μš°μ„ μˆœμœ„ μ‹œμŠ€ν…œ:** νƒ€μž„ μŠ¬λΌμ΄μ‹±μ„ ν†΅ν•œ μž‘μ—…μ˜ μΌμ‹œ 쀑지 및 μž¬κ°œλŠ” 'Lanes'라고 λΆˆλ¦¬λŠ” μš°μ„ μˆœμœ„ 기반 μ‹œμŠ€ν…œμ„ 톡해 κ΄€λ¦¬λ©λ‹ˆλ‹€ [3]. 예λ₯Ό λ“€μ–΄, μ‚¬μš©μžμ˜ ν΄λ¦­μ΄λ‚˜ νƒ€μ΄ν•‘μ²˜λŸΌ 즉각적인 λ°˜μ‘μ΄ ν•„μš”ν•œ μž‘μ—…μ€ 'Sync Lane'으둜 λΆ„λ₯˜λ˜μ–΄ μ¦‰μ‹œ 처리되며, ν™”λ©΄ λ°– λ Œλ”λ§κ³Ό 같은 λΉ„κΈ΄κΈ‰ μž‘μ—…μ€ 'Idle Lane'에 ν• λ‹Ήλ˜μ–΄ λΈŒλΌμš°μ €κ°€ 유휴 μƒνƒœμΌ λ•Œλ§Œ μ²˜λ¦¬λ˜λ„λ‘ μš°μ„ μˆœμœ„λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€ [6, 7]. - **λ™μ‹œμ„± 및 점진적 λ Œλ”λ§ 달성:** νƒ€μž„ μŠ¬λΌμ΄μ‹±μ€ λ™μ‹œμ„± λ Œλ”λ§(Concurrent Rendering) 및 점진적 λ Œλ”λ§(Incremental Rendering)κ³Ό κ²°ν•©ν•˜μ—¬, λ³΅μž‘ν•˜κ³  무거운 μ—…λ°μ΄νŠΈκ°€ λ°œμƒν•˜λ”λΌλ„ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ 항상 λΆ€λ“œλŸ½κ³  응닡성 있게 λ™μž‘ν•˜λ„λ‘ 보μž₯ν•©λ‹ˆλ‹€ [1, 8]. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & Updates) No trade-offs available. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** [[Fiber Architecture|Fiber Architecture]], [[Concurrent Rendering|Concurrent Rendering]], Lanes - **Projects/Contexts:** React - **Contradictions/Notes:** μ†ŒμŠ€μ— κ΄€λ ¨ 정보가 λΆ€μ‘±ν•©λ‹ˆλ‹€. --- *Last updated: 2026-04-25* --- - **Related Topics:** [[React Fiber Architecture|React Fiber Architecture]], [[Concurrent Rendering|Concurrent Rendering]], Lanes PrioritySystem, Incremental Rendering - **Projects/Contexts:** React Scheduler - **Contradictions/Notes:** μ†ŒμŠ€ λ‚΄μ—μ„œ νƒ€μž„ μŠ¬λΌμ΄μ‹±κ³Ό κ΄€λ ¨ν•˜μ—¬ μƒμΆ©λ˜λŠ” μ •λ³΄λŠ” μ—†μŠ΅λ‹ˆλ‹€. --- *Last updated: 2026-04-25* ## πŸ€– LLM ν™œμš© 힌트 (How to Use This Knowledge) **μ–Έμ œ 이 지식을 μ“°λŠ”κ°€:** - *(TODO)* **μ–Έμ œ μ“°λ©΄ μ•ˆ λ˜λŠ”κ°€:** - *(TODO)* ## πŸ§ͺ 검증 μƒνƒœ (Validation) - **정보 μƒνƒœ:** needs_review - **좜처 신뒰도:** A - **κ²€ν†  이유:** *(P-Reinforce Phase 1 μžλ™ μ •κ·œν™”. λ³Έλ¬Έ 검증 ν•„μš”.)* ## 🧬 쀑볡 검사 (Duplicate Check) - **κΈ°μ‘΄ μœ μ‚¬ λ¬Έμ„œ:** *(TODO: μΈλ±μ„œ ν΄λŸ¬μŠ€ν„° 리포트 μ°Έμ‘°)* - **처리 방식:** UPDATE (μžλ™ μ •κ·œν™”) - **처리 이유:** Phase 1 μ •κ·œν™” β€” μ˜› ν…œν”Œλ¦Ώ/λˆ„λ½ ν•„λ“œ 보강. ## πŸ•“ λ³€κ²½ 이λ ₯ (Changelog) | λ‚ μ§œ | λ³€κ²½ λ‚΄μš© | 처리 방식 | 신뒰도 | |------|-----------|-----------|--------| | 2026-05-08 | P-Reinforce Phase 1 μ •κ·œν™” (frontmatter + 헀더 ν‘œμ€€ν™”) | UPDATE | A | ## πŸ’» μ½”λ“œ νŒ¨ν„΄ (Code Patterns) **νŒ¨ν„΄ 1:** *(TODO: 이 ν”„λ‘œμ νŠΈ μ»¨λ²€μ…˜ λ°˜μ˜ν•œ ꡬ쑰 μŠ€μΌˆλ ˆν†€)* ```text # TODO ``` ## πŸ€” μ˜μ‚¬κ²°μ • κΈ°μ€€ (Decision Criteria) **선택 Aλ₯Ό 써야 ν•  λ•Œ:** - *(TODO)* **선택 Bλ₯Ό 써야 ν•  λ•Œ:** - *(TODO)* **κΈ°λ³Έκ°’:** > *(TODO)* ## ❌ μ•ˆν‹°νŒ¨ν„΄ (Anti-Patterns) - **[μ•ˆν‹°νŒ¨ν„΄]:** *(TODO: 무엇을 ν•˜λ©΄ μ•ˆ λ˜λŠ”κ°€ + 이유 + λŒ€μ‹  무엇을)*