PERFORMANCE LAB · 2026-09-13
100만 행의 첫 화면을
69.0% 더 빠르게
BeautifulGrid v1.0.10과 현재 미출시 작업 트리를 동일한 Chromium fixture에서 비교한 렌더링 성능 측정 결과입니다.
비교 대상은 아직 npm에 배포되지 않은 현재 작업 트리입니다.
01 · MOUNT
데이터가 커질수록 달라지는 최초 렌더
현재 작업 트리는 기본 경로에서 전체 행 수만큼 만들던 identity index 자료구조를 제거했습니다. 측정된 모든 구성에서 최초 렌더가 빨라졌고, 데이터가 커질수록 개선 폭이 크게 나타났습니다.
대용량 초기화 비용은 구조적으로 감소
100만 행에서 최초 렌더 median은 562.9ms에서 174.5ms로 줄었습니다. 같은 fixture의 heap도 185.0 MiB에서 132.8 MiB로 감소했습니다.
측정한 모든 구성에서 최초 렌더 개선
1만 행 기본 fixture는 2.6%, Frozen 100열 fixture는 2.1% 빨라졌습니다. 10만 행에서는 개선 폭이 17.1%까지 커집니다.
02 · SCROLL
스크롤 p95는 사실상 비슷한 범위
120 프레임 동안 처음에서 끝까지 이동한 뒤 되돌아오는 테스트에서 p95 프레임 간격은 모든 시나리오가 약 10ms였습니다. 이번 개선의 주효과는 스크롤 FPS가 아니라 대용량 최초 렌더와 메모리입니다.
| 시나리오 | v1.0.10 | 현재 | 차이 |
|---|---|---|---|
| 1만 행 · 20열 | 18.2ms | 18.1ms | −0.5% |
| 10만 행 · 20열 | 18.1ms | 18.2ms | +0.6% |
| 100만 행 · 20열 | 18.1ms | 18.3ms | +1.1% |
| 1만 행 · 100열 | 18.2ms | 18.2ms | +0.0% |
03 · METHOD
같은 조건, 공개된 원시 결과
숫자는 특정 머신의 절대 성능 보증이 아니라 두 소스 상태의 상대 비교입니다. 실제 프로젝트에서는 셀 renderer, 데이터 형태, 브라우저와 하드웨어에 따라 달라집니다.
1440×1000 viewport · 1200×620 grid · 4× CPU throttle
1be26dc ↔ 4018e87+3ff961db9cab
워밍업 1회 제외 · 기준선/현재본 교차 실행 · 실행마다 새 탭
두 버전에 공통인 고정 행 높이, 세로 가상 스크롤, Frozen 열만 비교했습니다. 편집기, 정렬·필터, 가변 행 높이와 애플리케이션 데이터 생성 시간은 이번 결과에 포함되지 않습니다. 현재 대상은 미출시 작업 트리이므로 이후 변경되면 다시 측정해야 합니다.