///
Search
5️⃣

List.add()와 size 문제

List의 구현체 ArrayList를 사용하던 도중 1_000_000 정도 add를 시행했음. 근데 성능이 급격하게 느려지는 케이스를 발견함. 원인을 분석하던 도중 내부 구현에서 Arrays.copyof를 호출하는 것을 알 수 있었음. 또한 기본 ArrayList의 size가 10으로 설정된 것을 발견 이후, 10건 이하의 데이터 또는 사이즈를 알 수 없는 경우를 제외하고 모두 구현체에 사이즈를 지정해서 사용.
거의 2배 정도 시간 차이를 보임. 해당 내용은 길이 비지정, 길이 지정으로 jmh로 1_000_000Integer를 add 해본 결과 Benchmark Mode Cnt Score Error Units ETC.nonSizeAddTest avgt 30 0.051 ± 0.002 s/op ETC.sizeAddTest avgt 30 0.030 ± 0.001 s/op
Java
복사