c3 케이스별 성능측정 - ChoDragon9/posts GitHub Wiki
카테고리별 케이스 정리
데이터량 | 표시방법 | 갱신방법 | 차트종류(논외) |
---|---|---|---|
1만개 | 모두그리기 | unmount => mount | SVG |
2만개 | 일부 그리고 인터렉션 처리 | 데이터만 갱신 | Canvas |
...10만개 | - | - | - |
파일 네이밍
- [데이터량]-[표시방법]-[갱신방법].js
- [데이터량]: 1, 2으로 만 단위
- [표시방법]: all, part
- [갱신방법]: unmount, reload
샘플 만들기
저장소: https://github.com/ChoDragon9/one-piece/tree/master/0%20study/c3
- [DONE] 모두 그리기 모듈 만들기
- [DONE] 일부 그리고 인터렉션 처리 모듈 만들기
- [DONE] unmount => mount 모듈 만들기
- [DONE] 데이터만 갱신 모듈 만들기
- [DONE] 샘플 데이터 만들기
- [DONE] 케이스 조합 데모 만들기
데모
500
10000
1000단위
Audits 결과
요약
- 데이터량: 500일 때 정상 동작으로 느껴짐. 10000 일때 많이 느림.
- 표시방법에 따른 차이
- 차이가 없다고 느껴짐
- DOM 갯수 동일함
- 갱신방법에 따른 차이
- 데이터만 갱신하는 게 훨씬 빠름
논외
chartJs
- 500.html
- 10000.html
- DOM 갯수는 줄어도 JS 연산이 많아 느려짐이 느껴지는 건 똑같음