🧾 이슈 개요
use-infinite-scroll.ts는 pages.length가 바뀐 뒤에야 다음 페이지를 요청한다(use-infinite-scroll.ts:83-86).
이전 구조(items를 로컬 state로 복사)에서는 새 페이지가 화면에 커밋되기 전에도 다음 요청이 나갈 수 있어 렌더와 네트워크가 겹쳤다.
#344에서 로컬 state 복사를 없애면서 측정 결과 회차 간 간격이 2ms(#387 이후 기준) → 약 48ms로 늘었다.
프로브(파생 상태만 되돌리는 임시 코드)로 원인을 격리한 결과, 카드 12장을 렌더하는 비용만큼 다음 요청이 늦게 나가는 것으로 확인했다.
요청 수·중복은 영향 없음(5회/0건 그대로).
전체 로드 시간(중앙값)도 723ms(after-387) → 955ms(after-344)로 늘었다. 다만 이 값은 next dev에서 잰 상대 비교용 수치라, production 빌드 기준으로는 절대값도 32%라는 비율도 다시 확인해야 한다.
버그는 아니다. 다만 겹침을 의도적으로 되살릴지(prefetch) 아니면 현재처럼 커밋 후 요청을 기본값으로 둘지는 결정된 적이 없다.
⚙️ 요구사항
- 48ms가 실사용에서 체감 가능한 수준인지 판단 근거 마련
next build && next start로 재측정한다. 지금까지의 측정은 전부 next dev(컴파일 캐시·HMR 오버헤드 포함) 기준이라, 48ms/955ms가 production에서도 같은 크기인지, 심지어 같은 방향인지 확인되지 않았다.
- 되살린다면 방식 결정: 센티넬 진입 시 렌더 대기 없이 요청, 혹은 다음 페이지 명시적 prefetch
- 측정 하네스(
infinite-scroll-measurement.spec.ts)로 결정 전/후 비교
✅ TODO
💬 Remarks
🧾 이슈 개요
use-infinite-scroll.ts는pages.length가 바뀐 뒤에야 다음 페이지를 요청한다(use-infinite-scroll.ts:83-86).이전 구조(items를 로컬 state로 복사)에서는 새 페이지가 화면에 커밋되기 전에도 다음 요청이 나갈 수 있어 렌더와 네트워크가 겹쳤다.
#344에서 로컬 state 복사를 없애면서 측정 결과 회차 간 간격이 2ms(#387 이후 기준) → 약 48ms로 늘었다.
프로브(파생 상태만 되돌리는 임시 코드)로 원인을 격리한 결과, 카드 12장을 렌더하는 비용만큼 다음 요청이 늦게 나가는 것으로 확인했다.
요청 수·중복은 영향 없음(5회/0건 그대로).
전체 로드 시간(중앙값)도 723ms(after-387) → 955ms(after-344)로 늘었다. 다만 이 값은
next dev에서 잰 상대 비교용 수치라, production 빌드 기준으로는 절대값도 32%라는 비율도 다시 확인해야 한다.버그는 아니다. 다만 겹침을 의도적으로 되살릴지(prefetch) 아니면 현재처럼 커밋 후 요청을 기본값으로 둘지는 결정된 적이 없다.
⚙️ 요구사항
next build && next start로 재측정한다. 지금까지의 측정은 전부next dev(컴파일 캐시·HMR 오버헤드 포함) 기준이라, 48ms/955ms가 production에서도 같은 크기인지, 심지어 같은 방향인지 확인되지 않았다.infinite-scroll-measurement.spec.ts)로 결정 전/후 비교✅ TODO
💬 Remarks
Architecture/Infinite-Scroll-Hook-Architecture.md, wikiPerformance/Infinite-Scroll-Request-Measurement.md