과거 웹의 주요 병목 현상은 네트워크였으나, 현재는 JavaScript(JS)가 브라우저 CPU 사용량의 대부분을 차지하며 주요 병목 지점이 되었다. 최근 7 년간 페이지당 JS 양이 약 5 배 증가했으며, 이는 메인 스레드를 차단하여 렌더링 속도를 저해한다. 전문가들은 JS 코드베이스의 부풀어 오름을 방지하기 위해 브라우저 차원의 제한 (예: 크롬의 'Never-Slow Mode' 프로토타입) 과 개발 도구 차원의 제한 (…
7 min read
웹의 병목 현상: JavaScript
Source
Evernote/Papers/The Bottleneck of the Web CSS-Tricks.md
Summary
과거 웹의 주요 병목 현상은 네트워크였으나, 현재는 JavaScript(JS)가 브라우저 CPU 사용량의 대부분을 차지하며 주요 병목 지점이 되었다. 최근 7 년간 페이지당 JS 양이 약 5 배 증가했으며, 이는 메인 스레드를 차단하여 렌더링 속도를 저해한다. 전문가들은 JS 코드베이스의 부풀어 오름을 방지하기 위해 브라우저 차원의 제한 (예: 크롬의 ‘Never-Slow Mode’ 프로토타입) 과 개발 도구 차원의 제한 (예: ESLint 규칙을 통한 대형 패키지 사용 금지) 이 필요함을 강조한다. JS 가 성능에 가장 큰 악영향을 미치지만, 다른 리소스도 함께 고려해야 한다는 의견도 존재한다.
Key Points
웹 성능의 주요 병목 현상이 네트워크에서 JavaScript 로 이동함
JS 양의 급격한 증가 (7 년간 약 5 배) 가 브라우저 메인 스레드를 차단하고 렌더링을 지연시킴
브라우저 차원의 JS 실행 제한 및 예산 설정 (예: 크롬 Never-Slow Mode) 제안
개발 도구 (ESLint 등) 를 활용하여 대형 프레임워크/라이브러리 사용 방지 권장
JS 가 성능 저하의 주범이지만, 다른 리소스도 함께 관리해야 한다는 균형 잡힌 시각 필요