program/java

[java] for 문에서 객체의 size 선언법

베짱2 2012. 10. 5. 11:27
반응형

Q. for 문에서 객체의 size 위치별 성능 차이를 알아보자.




ArrayList arr = new ArrayList();

for( int i = 0; i < 1000000; i++ )
	arr.add( i );

for( int i = 0; i < arr.size(); i++ )
	arr.get( i );


보다는


ArrayList arr = new ArrayList();

for( int i = 0; i < 1000000; i++ )
	arr.add( i );

int size = arr.size();
for( int i = 0; i < size; i++ )
	arr.get( i );


위에와 아래와의 차이는 for 구문에 객체.size() 를 넣느냐의 차이이다.


실제로 소스를 돌려본결과 0.01초 정도의 미묘한 차이를 보였다.


그렇게 따지면 아주 약간의 차이만 있다는 뜻이다.




결론


for 구문 속에 객체.size() 가 있으면 계속해서 객체의 size 를 읽어드리는 불필요한 작업을 하게된다.


그렇기 때문에 for 문 밖에 int 를 선언하여 size를 저장한다음


for문을 돌려보는걸 권한다.




※ 검증시 아주 미묘한(0.01초) 차이였다. 하지만 좋은 프로그래밍을 위한 습관을 들이는 것이 중요하다.

반응형