[정리] Final and Const in Flutter

valas·2021년 8월 1일
0

정리

목록 보기
1/2

발단

어느 날 문득, Const와 Final를 쓰는게 성능에 차이가 있을까?

조사

몇 개의 글을 찾아 보았다.

Is there a performance gain for final variables?
final, const 가 apk 사이즈를 줄이는 것으로 확인 되었다. 모든 성능 문제는 작은 것으로 부터 시작되어 스노우볼을 굴린다. 때문에 개인적으로 사용을 고수한다.

Flutter performance analysis of const constructor

  • 프레임마다 메모리 사용량이 계속 변동적, 최대일 때 기록
  • 메모리 사용량은 계속 증가함. 특정 순간에 줄어듬(가비지 컬렉션 발동 할 때). 그 후 다시 증가. 줄어들었을 때 메모리 사용량을 기록함.

    테스트 결과
    메모리 사용량, frame 성능 const 가 승리
    사용량, 크기가 커질 수록 10~20%의 성능이득

그래서 위 글의 결론은?

  • linter의 prefer_const_constructor 규칙 사용하자
  • 이미 개발한 옛날 앱을 개선한다면 성능차이는 미미해 보이니, 꼭 필요해 보이진 않는다.

내 생각

  • 성능 차이가 미미하므로 굳이 안써도 됨
  • 하지만 발전하려면 이런 사소한 차이도 기억해 쓰는게 좋을 것 같음

참고

조급한 최적화는 모든 악의 근원이다
Flutter performance analysis of const constructor 글에 나온 테스트용 코드

0개의 댓글