--- category: Unified tags: [auto-consolidated, technical-documentation] title: [[Performance Optimization|Performance Optimization]] last_updated: 2026-05-02 --- # [[Performance Optimization|Performance Optimization]] ## ๐Ÿ“Œ Brief Summary ์ตœ์‹  React ํ”„๋ก ํŠธ์—”๋“œ ์•„ํ‚คํ…์ฒ˜์—์„œ ์„ฑ๋Šฅ ์ตœ์ ํ™”(Performance [[Optimization|Optimization]])๋Š” ๋Ÿฐํƒ€์ž„ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ , ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ ์ค„์ด๋ฉฐ, ์ฝ”์–ด ์›น ๋ฐ”์ดํƒˆ(Core Web Vitals)์„ ๊ฐœ์„ ํ•˜๋Š” ์ผ๋ จ์˜ ๊ณผ์ •๊ณผ ์•„ํ‚คํ…์ฒ˜์  ์„ ํƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ฃผ๋กœ ๋Ÿฐํƒ€์ž„์— ์Šคํƒ€์ผ์„ ๋™์ ์œผ๋กœ ์ฃผ์ž…ํ•˜๋Š” [[CSS-in-JS|CSS-in-JS]] ๋Œ€์‹  ๋นŒ๋“œ ํƒ€์ž„์— ์ •์  CSS๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ ํผ์ŠคํŠธ(Utility-first) CSS๋ฅผ ๋„์ž…ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค [1, 2]. ๋˜ํ•œ ๋ณต์žกํ•œ ์ปดํฌ๋„ŒํŠธ ์„ค๊ณ„ ์‹œ ์ปจํ…์ŠคํŠธ(Context) ๋ถ„๋ฆฌ์™€ ๋ฉ”๋ชจ์ด์ œ์ด์…˜(Memoization)์„ ํ†ตํ•ด ๋ถˆํ•„์š”ํ•œ ๋ฆฌ๋ Œ๋”๋ง์„ ๋ฐฉ์ง€ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ ์ˆ˜์ค€์˜ ์„ค๊ณ„ ์ตœ์ ํ™”๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค [3-5]. --- ์„ฑ๋Šฅ ์ตœ์ ํ™”([[Performance Optimization|Performance Optimization]])๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ CSS๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์„ ์ดํ•ดํ•˜๊ณ , ๋ Œ๋”๋ง์„ ์ง€์—ฐ์‹œํ‚ค๊ฑฐ๋‚˜ ๋ถˆํ•„์š”ํ•œ ์—ฐ์‚ฐ์„ ์œ ๋ฐœํ•˜๋Š” ์š”์†Œ๋ฅผ ์ตœ์†Œํ™”ํ•˜์—ฌ ์›น ํŽ˜์ด์ง€์˜ ๋กœ๋”ฉ ์†๋„์™€ ๋ฐ˜์‘์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค [1]. ์ฃผ๋กœ ๋ Œ๋”๋ง ๋ธ”๋กœํ‚น(Render-Blocking) CSS ํŒŒ์ผ์˜ ๋ถ„ํ• , ๋ฆฌํ”Œ๋กœ์šฐ(Reflow)์™€ ๋ฆฌํŽ˜์ธํŠธ(Repaint)์˜ ์ตœ์†Œํ™”, ๊ทธ๋ฆฌ๊ณ  ํšจ์œจ์ ์ธ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์†์„ฑ ์‚ฌ์šฉ ๋“ฑ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค [1-3]. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ•˜๊ณ , ๊ถ๊ทน์ ์œผ๋กœ ์ฝ”์–ด ์›น ๋ฐ”์ดํƒˆ([[Core Web Vitals|Core Web Vitals]]) ๋ฐ SEO ์ˆœ์œ„๋ฅผ ๋†’์ด๋Š” ๋ฐ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [4]. ## ๐Ÿ“– Core Content - **์Šคํƒ€์ผ๋ง ํŒจ๋Ÿฌ๋‹ค์ž„๊ณผ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฒ„ํ—ค๋“œ:** [[Tailwind CSS|Tailwind CSS]]์™€ ๊ฐ™์€ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํผ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋นŒ๋“œ ํƒ€์ž„์— ์ •์  CSS๋ฅผ ์ƒ์„ฑํ•˜๋ฏ€๋กœ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์—†์œผ๋ฉฐ, ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ 5-20kb ์ˆ˜์ค€์˜ ์ž‘์€ ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค [1, 2, 6]. ๋ฐ˜๋ฉด styled-components๋‚˜ Emotion๊ณผ ๊ฐ™์€ ๋Ÿฐํƒ€์ž„ CSS-in-JS๋Š” ๋ธŒ๋ผ์šฐ์ €์—์„œ [[JavaScript|JavaScript]]๋ฅผ ์‹คํ–‰ํ•ด CSS ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•˜๊ณ  ์‚ฝ์ž…ํ•˜๋Š” '๋Ÿฐํƒ€์ž„ ์„ธ๊ธˆ(Runtime tax)'์„ ๋ฐœ์ƒ์‹œ์ผœ, ์ฝ˜ํ…์ธ ๊ฐ€ ๋งŽ๊ฑฐ๋‚˜ ์ €์‚ฌ์–‘ ๊ธฐ๊ธฐ์—์„œ CPU ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2, 7, 8]. - **Core Web Vitals ๋ฐ ๋ Œ๋”๋ง ์†๋„ ํ–ฅ์ƒ:** Styled-components์—์„œ Tailwind CSS๋กœ ์Šคํƒ€์ผ๋ง์„ ์ „ํ™˜ํ•œ ๋ฒค์น˜๋งˆํฌ ๋ฐ ์‹ค์ œ ๊ธฐ์—… ์‚ฌ๋ก€์— ๋”ฐ๋ฅด๋ฉด, JavaScript ์‹คํ–‰ ์‹œ๊ฐ„์ด ์ค„์–ด๋“ฆ์— ๋”ฐ๋ผ ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ ์ตœ์ดˆ ์ž…๋ ฅ ์ง€์—ฐ(FID)์ด ์ตœ๋Œ€ 75.9%, ๋‹ค์Œ ํŽ˜์ธํŠธ์— ๋Œ€ํ•œ ์ƒํ˜ธ์ž‘์šฉ(INP)์ด ์ตœ๋Œ€ 58.4% ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค [9-12]. 10,000๊ฐœ์˜ ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ์„ ๋ Œ๋”๋งํ•˜๋Š” ํ…Œ์ŠคํŠธ์—์„œ๋„ Tailwind๋Š” 85ms, Styled-components๋Š” 148ms๊ฐ€ ์†Œ์š”๋˜์–ด ์ƒ๋‹นํ•œ ์„ฑ๋Šฅ ๊ฒฉ์ฐจ๋ฅผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค [13]. - **[[React Server Components (RSC)|React Server Components (RSC]] ํ˜ธํ™˜์„ฑ:** React Context์— ์˜์กดํ•˜๋Š” ๋Ÿฐํƒ€์ž„ CSS-in-JS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์€ Context API๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์„œ๋ฒ„ ์ „์šฉ ์‹คํ–‰ ํ™˜๊ฒฝ์ธ RSC์™€ ๊ทผ๋ณธ์ ์œผ๋กœ ํ˜ธํ™˜๋˜์ง€ ์•Š์•„ ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ต๋‹ˆ๋‹ค [8, 14, 15]. ๋”ฐ๋ผ์„œ [[Next.js App Router|Next.js App Router]]์™€ ๊ฐ™์€ ํ™˜๊ฒฝ์—์„œ๋Š” ๋Ÿฐํƒ€์ž„ CSS-in-JS์˜ ์‚ฌ์šฉ์„ ์ง€์–‘ํ•˜๊ณ , Tailwind CSS๋‚˜ [[CSS Modules|CSS Modules]], ๋˜๋Š” Zero-Runtime CSS-in-JS(์˜ˆ: [[vanilla-extract|vanilla-extract]])๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์„ฑ๋Šฅ์ƒ ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค [14, 16]. - **๋นŒ๋“œ ์„ฑ๋Šฅ ๊ฐœ์„  (Tailwind v4):** ์ตœ๊ทผ ๋„์ž…๋œ [[Tailwind CSS v4|Tailwind CSS v4]]๋Š” Rust ๊ธฐ๋ฐ˜์˜ Oxide ์—”์ง„์„ ์ฑ„ํƒํ•˜์—ฌ ๊ธฐ์กด JavaScript ๊ธฐ๋ฐ˜ ์ปดํŒŒ์ผ๋Ÿฌ ๋Œ€๋น„ ์ „์ฒด ๋นŒ๋“œ ์†๋„๊ฐ€ 5~10๋ฐฐ, ์ฆ๋ถ„ ๋นŒ๋“œ(Incremental build) ์†๋„๊ฐ€ 100๋ฐฐ ์ด์ƒ ๋นจ๋ผ์ ธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์˜ ์„ฑ๋Šฅ์„ ๋น„์•ฝ์ ์œผ๋กœ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค [17-21]. - **์ปดํฌ๋„ŒํŠธ ์•„ํ‚คํ…์ฒ˜ ์ˆ˜์ค€์˜ ์ตœ์ ํ™”:** ํ•ฉ์„ฑ ์ปดํฌ๋„ŒํŠธ([[Compound Components|Compound Components]]) ํŒจํ„ด์„ ํ†ตํ•ด ๋ณต์žกํ•œ UI๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ, ๋ชจ๋“  ์ƒํƒœ๋ฅผ ํ•˜๋‚˜์˜ Context์— ๋‹ด๊ธฐ๋ณด๋‹ค ์ƒํƒœ([[State|State]])์™€ ์•ก์…˜(Actions)์„ ๋ณ„๋„์˜ ์ปจํ…์ŠคํŠธ๋กœ ๋ถ„๋ฆฌ(Split Contexts)ํ•˜๋ฉด ๋ถˆํ•„์š”ํ•œ ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ์˜ ๋ฆฌ๋ Œ๋”๋ง์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [3, 5]. ์ด์™€ ํ•จ๊ป˜ ๋ Œ๋”๋ง ๋น„์šฉ์ด ๋†’์€ ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ์— ๋Œ€ํ•ด ์ „๋žต์ ์ธ ๋ฉ”๋ชจ์ด์ œ์ด์…˜์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ๋„ ์„ฑ๋Šฅ ์ตœ์ ํ™”์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค [4]. --- * **๋ Œ๋”๋ง ๋ฐ ๋กœ๋”ฉ ์ตœ์ ํ™”** * ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” CSS ๊ทœ์น™์„ ์ œ๊ฑฐํ•˜๊ณ , ๋ถˆํ•„์š”ํ•œ ๊ณต๋ฐฑ์„ ์—†์• ๋Š” ์ถ•์†Œ(Minify) ๋ฐ ์••์ถ• ์ž‘์—…์„ ํ†ตํ•ด ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค [5, 6]. * ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ(Media Queries)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ CSS๋ฅผ ์—ฌ๋Ÿฌ ๋ชจ๋“ˆ๋กœ ๋ถ„ํ• ํ•˜๊ณ  `media` ์†์„ฑ์„ ํ™œ์šฉํ•˜๋ฉด, ํ˜„์žฌ ํ™”๋ฉด์— ํ•„์š”ํ•˜์ง€ ์•Š์€ ์Šคํƒ€์ผ ์‹œํŠธ์˜ ๋ Œ๋”๋ง ๋ธ”๋กœํ‚น ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2, 7, 8]. * HTML ๋‚ด์—์„œ `rel="preload"`๋ฅผ ์‚ฌ์šฉํ•ด ์ค‘์š”ํ•œ CSS, ํฐํŠธ, ์ด๋ฏธ์ง€ ์ž์‚ฐ์„ ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ์— ์กฐ๊ธฐ ๋กœ๋“œํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๋†’์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค [9, 10]. * ๋ณต์žกํ•œ CSS ์„ ํƒ์ž(Selectors)๋ฅผ ๋‹จ์ˆœํ™”ํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์˜ ํŒŒ์‹ฑ ์‹œ๊ฐ„์„ ๋‹จ์ถ•์‹œํ‚ค๊ณ , ๋ชจ๋“  ์š”์†Œ์— ์Šคํƒ€์ผ์„ ์ ์šฉํ•˜๋Š” ๋ฒ”์šฉ ์„ ํƒ์ž์˜ ๋‚จ์šฉ์„ ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [6, 11]. * **๋ฆฌํ”Œ๋กœ์šฐ(Reflow) ๋ฐ ๋ฆฌํŽ˜์ธํŠธ(Repaint) ๊ด€๋ฆฌ** * ๋ฆฌํ”Œ๋กœ์šฐ๋Š” ์š”์†Œ์˜ ๊ธฐํ•˜ํ•™์  ๊ตฌ์กฐ(ํฌ๊ธฐ, ์œ„์น˜)๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ ๋ฐœ์ƒํ•˜๋ฉฐ, ํ•ด๋‹น ์š”์†Œ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ž์‹, ์ƒ์œ„ ๋ฐ ๋’ค๋”ฐ๋ฅด๋Š” ์š”์†Œ๋“ค์˜ ๋ ˆ์ด์•„์›ƒ๊นŒ์ง€ ๋‹ค์‹œ ๊ณ„์‚ฐํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ์„ฑ๋Šฅ์— ์น˜๋ช…์ ์ž…๋‹ˆ๋‹ค [12, 13]. ๋ฆฌํŽ˜์ธํŠธ๋Š” ๋ ˆ์ด์•„์›ƒ ๋ณ€ํ™” ์—†์ด ๋ฐฐ๊ฒฝ์ƒ‰ ๋“ฑ ์‹œ๊ฐ์  ์š”์†Œ๋งŒ ๋ฐ”๋€” ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค [3, 12]. * ๋ฆฌํ”Œ๋กœ์šฐ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด์„œ๋Š” DOM ํŠธ๋ฆฌ์—์„œ ๊ฐ€๋Šฅํ•œ ๊ฐ€์žฅ ๋‚ฎ์€ ์œ„์น˜์— ์žˆ๋Š” ๋…ธ๋“œ์˜ ํด๋ž˜์Šค๋ฅผ ๋ณ€๊ฒฝํ•ด ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋ฒ”์œ„๋ฅผ ์ตœ์†Œํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [14]. * [[JavaScript|JavaScript]]๋กœ ์ธ๋ผ์ธ ์Šคํƒ€์ผ์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์„ค์ •ํ•˜๋Š” ๋Œ€์‹  ์™ธ๋ถ€ ํด๋ž˜์Šค๋กœ ์Šคํƒ€์ผ์„ ์กฐํ•ฉํ•˜์—ฌ ํ•œ ๋ฒˆ๋งŒ ๋ณ€๊ฒฝ๋˜๋„๋ก ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [15]. * ํ…Œ์ด๋ธ” ๋ ˆ์ด์•„์›ƒ์€ ์ฝ˜ํ…์ธ ์— ๋”ฐ๋ผ ์ „์ฒด ๋ ˆ์ด์•„์›ƒ์„ ๋‹ค์‹œ ๊ณ„์‚ฐํ•˜๋Š” ์—ฌ๋Ÿฌ ๋ฒˆ์˜ ํŒจ์Šค(pass)๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ ˆ์ด์•„์›ƒ ๋ชฉ์ ์œผ๋กœ๋Š” ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [16, 17]. * **์• ๋‹ˆ๋ฉ”์ด์…˜ ์„ฑ๋Šฅ ์ตœ์ ํ™”** * `width`, `height`, `margin`, `padding`, `top/left` ๋“ฑ ๋ ˆ์ด์•„์›ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ์†์„ฑ์„ ์• ๋‹ˆ๋ฉ”์ด์…˜ํ™”ํ•˜๋ฉด ์ง€์†์ ์ธ ๋ฆฌํ”Œ๋กœ์šฐ์™€ ๋ฆฌํŽ˜์ธํŠธ๋ฅผ ์œ ๋ฐœํ•ด ํ™”๋ฉด์ด ๋Š๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [3, 18, 19]. * ๋Œ€์‹  `transform`์ด๋‚˜ `scale`, `opacity` ๊ฐ™์€ ์†์„ฑ์„ ์• ๋‹ˆ๋ฉ”์ด์…˜์— ์‚ฌ์šฉํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์˜ GPU ๊ฐ€์†(Compositing)์„ ์œ ๋„ํ•˜๊ณ  ๋ฆฌํ”Œ๋กœ์šฐ๋ฅผ ๋ฐฉ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [19-22]. * `box-shadow`, `filter`, `border-radius`์™€ ๊ฐ™์ด ๋ธŒ๋ผ์šฐ์ € ์—ฐ์‚ฐ ๋น„์šฉ์ด ๋†’์€ ์†์„ฑ์ด๋‚˜ ๋ฌด๊ฑฐ์šด ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€/๊ทธ๋ผ๋ฐ์ด์…˜์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ์€ ํ”ผํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค [22-24]. * ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ ์šฉํ•  ์š”์†Œ๋Š” `position: fixed` ๋˜๋Š” `absolute`๋กœ ์„ค์ •ํ•˜์—ฌ ๋ฌธ์„œ ํ๋ฆ„์—์„œ ๋ถ„๋ฆฌํ•˜๋ฉด, ์• ๋‹ˆ๋ฉ”์ด์…˜ ์‹คํ–‰ ์‹œ ์ „์ฒด ๋ ˆ์ด์•„์›ƒ์˜ ๋ฆฌํ”Œ๋กœ์šฐ ๋Œ€์‹  ๋ฆฌํŽ˜์ธํŠธ๋งŒ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [15, 25]. * `will-change` ์†์„ฑ์„ ํ†ตํ•ด ๋ณ€๊ฒฝ๋  ์š”์†Œ๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ๋ฏธ๋ฆฌ ์•Œ๋ ค ์ตœ์ ํ™”๋ฅผ ๋•๋˜, ๋‚จ์šฉํ•˜๋ฉด ์˜คํžˆ๋ ค ์„ฑ๋Šฅ์„ ์ €ํ•˜์‹œํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ตœํ›„์˜ ์ˆ˜๋‹จ์œผ๋กœ ์ œํ•œ์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [26, 27]. * **์„ค๊ณ„ ๊ตฌ์กฐ([[CSS Architecture|CSS Architecture]])์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ ์ฐจ์ด** * [[styled-components|styled-components]] ๋ฐ Emotion๊ณผ ๊ฐ™์€ ๋Ÿฐํƒ€์ž„ [[CSS-in-JS|CSS-in-JS]] ๋„๊ตฌ๋Š” ๋Ÿฐํƒ€์ž„์— CSS ๋ฌธ์ž์—ด์„ ํŒŒ์‹ฑํ•˜๊ณ  ์ƒ์„ฑํ•˜๋ฏ€๋กœ CPU ์‚ฌ์ดํด ์†Œ๋ชจ์™€ JS ๋ฒˆ๋“ค ํฌ๊ธฐ ์ฆ๊ฐ€๋ฅผ ์œ ๋ฐœํ•˜์—ฌ ๋ Œ๋”๋ง ์„ฑ๋Šฅ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค [28-31]. * ๋ฐ˜๋ฉด [[CSS Modules|CSS Modules]], Tailwind CSS, ๊ทธ๋ฆฌ๊ณ  Vanilla Extract์™€ ๊ฐ™์€ [[Zero-Runtime CSS-in-JS|Zero-Runtime CSS-in-JS]]๋Š” ๋นŒ๋“œ ํƒ€์ž„์— ์ •์  CSS๋ฅผ ์ƒ์„ฑํ•˜๋ฏ€๋กœ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์—†์–ด ์„ฑ๋Šฅ์— ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค [32-34]. * **CSS ์ปจํ…Œ์ธ๋จผํŠธ (CSS Containment)** * `contain` ๋ฐ `content-visibility` ์†์„ฑ์„ ํ™œ์šฉํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํŽ˜์ด์ง€์˜ ํŠน์ • ๋ถ€๋ถ„์„ ๊ฒฉ๋ฆฌํ•˜์—ฌ ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ๋ Œ๋”๋งํ•˜๋„๋ก ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [35, 36]. ์ด๋ฅผ ํ†ตํ•ด ํ™”๋ฉด์— ๋ณด์ด์ง€ ์•Š๋Š” ์š”์†Œ์˜ ๋ Œ๋”๋ง์„ ์ง€์—ฐ์‹œ์ผœ ์ดˆ๊ธฐ ๋กœ๋“œ ์„ฑ๋Šฅ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [36]. ## โš–๏ธ Trade-offs & Caveats No trade-offs available. ## ๐Ÿ”— Knowledge Connections - **Related Topics:** [[Tailwind CSS|Tailwind CSS]], Styled-components, React Server Components (RSC), [[Core Web Vitals|Core Web Vitals]], [[Compound Components|Compound Components]] - **Projects/Contexts:** [[Next.js App Router|Next.js App Router]], Tailwind CSS v4 Oxide Engine - **Contradictions/Notes:** ๋Ÿฐํƒ€์ž„ ์˜ค๋ฒ„ํ—ค๋“œ ๋ฌธ์ œ๋กœ ์ธํ•ด Styled-components๊ฐ€ ์„ฑ๋Šฅ ์ธก๋ฉด์—์„œ ๋ถˆ๋ฆฌํ•˜๋‹ค๋Š” ์ง€์ ์ด ๋งŽ์œผ๋‚˜, Styled-components v6 ๋ฉ”์ด์ € ์—…๋ฐ์ดํŠธ์—์„œ๋Š” ์บ์‹ฑ ๋ฐ ํ•ซ ํŒจ์Šค ๋งˆ์ดํฌ๋กœ ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์˜ ๋ฆฌ๋ Œ๋”๋ง ์†๋„๋ฅผ ์ตœ๋Œ€ 3.3๋ฐฐ ํ–ฅ์ƒ์‹œ์ผฐ์œผ๋ฉฐ, ์ธ๋ผ์ธ ์Šคํƒ€์ผ ์ฃผ์ž… ๋ฐฉ์‹์„ ํ†ตํ•ด RSC([[React Server Components|React Server Components]]) ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ํ˜ธํ™˜์„ฑ์„ ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€ํ•˜์—ฌ ๋‹จ์ ๋“ค์„ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค [22-24]. --- *Last updated: 2026-04-26* --- - **Related Topics:** [[Reflow and Repaint|Reflow and Repaint]], CSS Animations, Core Web Vitals, [[Zero-Runtime CSS-in-JS|Zero-runtime CSS-in-JS]], CSS Containment - **Projects/Contexts:** ๋Œ€๊ทœ๋ชจ ํ”„๋ก ํŠธ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ Œ๋”๋ง ์†๋„ ๊ฐœ์„ , ์‚ฌ์šฉ์ž ์ƒํ˜ธ์ž‘์šฉ์ด ๋งŽ์€ ์• ๋‹ˆ๋ฉ”์ด์…˜ UI ๊ตฌ์ถ• ๋ฐ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ ์ ์šฉ - **Contradictions/Notes:** ์• ๋‹ˆ๋ฉ”์ด์…˜์€ ๋กœ๋”ฉ ์‹œ๊ฐ„์„ ์‹œ๊ฐ์ ์œผ๋กœ ์ฑ„์›Œ์ฃผ๊ณ  ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ๋А๋ผ๊ฒŒ(Perceived Performance) ๋งŒ๋“œ๋Š” ๊ธ์ •์  ํšจ๊ณผ๊ฐ€ ์žˆ์ง€๋งŒ [37], ์†์„ฑ ์„ ํƒ์„ ์ž˜๋ชปํ•˜๊ฑฐ๋‚˜ ๋™์‹œ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋‚จ๋ฐœํ•˜๋ฉด ์˜คํžˆ๋ ค ํ”„๋ ˆ์ž„ ๋“œ๋ž์„ ์œ ๋ฐœํ•ด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜๊ณผ ์„ฑ๋Šฅ์„ ์•…ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [23, 38]. ๋˜ํ•œ `will-change` ์†์„ฑ ์—ญ์‹œ ์„ฑ๋Šฅ ํ–ฅ์ƒ ํžŒํŠธ๋ฅผ ์ฃผ์ง€๋งŒ ๊ณผ๋„ํ•˜๊ฒŒ ์ ์šฉํ•  ๊ฒฝ์šฐ ๋ธŒ๋ผ์šฐ์ € ์ž์› ๋‚ญ๋น„์˜ ์›์ธ์ด ๋ฉ๋‹ˆ๋‹ค [26, 27]. --- *Last updated: 2026-04-26*