Performance Method - libitums/FE GitHub Wiki
์ธก์ ๋ฐฉ๋ฒ๊ณผ ์งํ
์งํ
| ์งํ | ๋ป | ์ฝ๋ ๋ฒ |
|---|---|---|
์ฒซ ๋ ๋ (pipeline) |
๋ฒ๋ค์ ๋ฐ์ ์ฒซ ํ๋ฉด์ ๊ทธ๋ฆฌ๊ธฐ๊น์ง | 12.6 ms ์์ชฝ ์ฐจ์ด๋ ํ๋ค๋ฆผ์ผ๋ก ๋ณธ๋ค |
ํ์ฑ (parse) |
๋ฒ๋ค์ ์ฝ์ด ํด์ํ๋ ์๊ฐ. ์ฒซ ๋ ๋์ ์๋ถ๋ถ | ๋ณดํต 1~4 ms |
์ฒซ ํ์ (lynxFcp) |
์ฒซ ์ฝํ ์ธ ๊ฐ ๋ณด์ด๊ธฐ๊น์ง | ์ค์น ๋ฐฉ์ ยท ํ์ฐจ์ ๋ฐ๋ผ 30~55 ms ํ๋ค๋ฆฐ๋ค |
| ํ๋ฉด ์ ํ | ํญ ยท ํ๋ฉด์ ๋ฐ๊ฟ ๋ ๋ค์ ๊ทธ๋ฆฌ๋ ์๊ฐ(๊ณ์ธก์ ์ด ์๋ ํ๋ฉด๋ง) | ๊ฐ์ ์ด๋ฆ์ ๊ณ์ธก์ ์ ์ฒ์ ํ ๋ฒ๋ง ์ฐ๋ค |
๋ฉ๋ชจ๋ฆฌ (mainThreadRuntimeBytes) |
๋ฉ์ธ ์ค๋ ๋ JS๊ฐ ์ฅ ๋ฉ๋ชจ๋ฆฌ | ๊ฐ์ ์ฝ๋๋ฉด ๋ฐ์ดํธ๊น์ง ๊ฐ๋ค โ ์์ ์ฐจ์ด๋ ์ค์ |
์์ ยท ๋ทฐ ๋ฉ๋ชจ๋ฆฌ (elementBytes ยท viewBytes) |
ํ๋ฉด ์์ ํธ๋ฆฌ ยท ๋ค์ดํฐ๋ธ ๋ทฐ | ์ด๋ฏธ์ง ๋์ฝ๋ฉ์ ํฌ๊ฒ ์์ง์ธ๋ค |
๋ฒ๋ค (main.lynx.bundle) |
pnpm build๊ฐ ๋ง๋ ํ์ผ ํฌ๊ธฐ |
์ํ์ ๋์ผ๋ฉด CI๊ฐ ๋ง๋๋ค |
๋น ๋ฅด๋ค ยท ๋๋ฆฌ๋ค๋ฅผ ๊ฐ๋ฅด๋ ๊ธฐ์ค๊ฐ์ ์์ง ์๋ค. ๋ณด๊ณ ์๋ ์์น๋ฅผ ๋จ๊ธธ ๋ฟ ํต๊ณผ ยท ์คํจ๋ฅผ ํ์ ํ์ง ์๋๋ค.
์ธก์ ์กฐ๊ฑด
| ํญ๋ชฉ | ๊ฐ |
|---|---|
| ๊ธฐ๊ธฐ | iPhone 17 Pro ์๋ฎฌ๋ ์ดํฐ |
| OS ยท SDK | iOS 26.5 ยท Lynx 4.0.1 |
| ๋น๋ | Release ํธ์คํธ ์ฑ(์ฒซ ๊ธฐ๋ก ํ๋๋ง Debug) |
| ๋๊ตฌ | pnpm --filter @libitums/mobile performance:capture -- start ยท report ยท stop |
์ค๊ธฐ(์ค์ iPhone)์์ ์ฐ ๊ธฐ๋ก์ ์์ง ์๋ค.
์๋๋ฆฌ์ค ์ข ๋ฅ
- ์ฒซ ๋ก๋ โ ์ฑ์ ์ด๊ณ ์กฐ์ํ์ง ์๋๋ค
- ์ ์ค์น ์ฒซ ๋ก๋ โ ์ง์ฐ๊ณ ๋ค์ ์ค์นํ ๋ค ์จ๋ณด๋ฉ ยท ๋ก๊ทธ์ธ๊น์ง
- ํญ ยท ํ๋ฉด ์ ํ โ ๋ก๊ทธ์ธ๋ ์ํ์์ ์ฌ์ ๋งต ยท ํญ์ ์ค๊ฐ๋ค(๋ณดํต 3ํ์ฐจ)
- ํ์ต ํ๋ฉด ์ง์
- ๋ฐ๋ณต ์ธก์ โ ๊ฐ์ commit์ ์ฌ๋ฌ ๋ฒ ์ฌ์ด ํ๋ค๋ฆผ ํญ์ ์ก๋๋ค
- ๋ฒ๋ค๋ง โ Release ๋น๋ ์์ด
pnpm buildํฌ๊ธฐ๋ง ๋น๊ต(์ํ โช)
๊ธฐ๋ก ๊ท์น
- ์ฑ ๋์์ ๋ฐ๊พธ๋ PR๋ง๋ค ๋ณด๊ณ ์๋ฅผ ํ๋ ์ด์ ๊ฐ์ PR์ ๋ฃ๋๋ค. ์์ผ๋ฉด CI(
performance:reports:gate)๊ฐ ๋ง๋๋ค. - ํ์ผ ํ๋ = ๊ธฐ๊ธฐ ยท ์๋๋ฆฌ์ค ยท ํ์ฐจ ํ๋. ๋ ์ง๋ ๋ณธ๋ฌธ์๋ง ์ ๋๋ค.
- ๋ชป ์ฐ ๊ฐ์ ์ง์ฐ์ง ์๊ณ
๋ฏธ์ธก์ ๊ณผ ์ด์ ๋ฅผ ์ ๋๋ค. ๋ฏธ์ธก์ ์ ๊ธฐ์ค์ ๋, ํต๊ณผ๋ ์๋๋ค. - ์๋ณธ ์บก์ฒ(JSON ยท NDJSON)๋ ์ฌ๋ฆฌ์ง ์๋๋ค.
์์ธํ ์์์ ์ ์ฅ์ docs/performance/reports/README.md์ docs/performance-analysis.md์ ์๋ค.
์ด ์ํค๋ฅผ ๊ฐฑ์ ํ๋ ๋ฒ
์ ๋ณด๊ณ ์๊ฐ main์ ๋ค์ด์ค๋ฉด ๊ธฐ๋ก ๋ชฉ๋ก ๋งจ ์ ๋ ์ง์ ํ ์ค์ ๋ํ๋ค. ๋ฒ๋ค ยท ๋ฉ๋ชจ๋ฆฌ๊ฐ ํฌ๊ฒ ์์ง์์ผ๋ฉด ์ถ์ด์ ใํฌ๊ฒ ๋์ด๋ ์ง์ ใ์๋ ๋ํ๊ณ , ์์น๋ฅผ ์ฝ๋ ๋ฒ์ด ๋ฐ๋์์ผ๋ฉด ์ฃผ์ ๋ฐ๊ฒฌ์ ์ ๋๋ค.