속도가 중요할까 잘짜여진 프레임웍이 중요할까.
2009. 4. 8. 09:15ㆍJava
속도가 중요할까 잘짜여진 프레임웍이 중요할까.
프로그래머서 항상 생각하는 분야일것이다.
마침 여기에 대한 내용이 java.sun.com 의 메인 Top에 링크가 걸려있길래 봤는데
이사람도 참 노력하는 사람이다.
기존코드를 속도 빠르게 짜놓고 엄청 좋아 했는데, 정착 이를 쓰는 당사자는 전혀! 느끼지도 못한다는것이다.
아래는 원본 글이다.
http://java.sun.com/developer/technicalArticles/Interviews/devinsight_1/
대충 살펴보면.
누구나 String 보다는 StringBuffer 이 속도면에서 낫다는 것을 알고있다.
아래는 이사람이 String append 에 대한 함수를 여러 만들어 본것이다.
jdk1.3 으로 실행한것과, jdk6으로 실행한것이다.
public static String concat1(String s1, String s2, String s3,
String s4, String s5, String s6) {
String result = "";
result += s1;
result += s2;
result += s3;
result += s4;
result += s5;
result += s6;return result;
}2013 milliseconds
public static String concat2(String s1, String s2, String s3,
String s4, String s5, String s6) {
StringBuffer result = new StringBuffer();
result.append(s1);
result.append(s2);
result.append(s3);
result.append(s4);
result.append(s5);
result.append(s6);
return result.toString();
}
public static String concat4(String s1, String s2, String s3,
String s4, String s5, String s6) {
return s1 + s2 + s3 + s4 + s5 + s6;
}
578 milliseconds
여기에서
concat4의 속도를 의심하게 될것이다.
578 이라니!! jdk 6에서의 속도이다.
머.
.
결론은 vm버전이 올라갈수록 알아서 속도도 올라간다.
속도보다는 최대한 가독성있게 프로그래밍을 하자 이다.
.
결론 이거지만, 항상 언제나 예외가 있기마련이다.
사용처에 맞게 이런방법도 쓰고, 저런방법도 써야할것이다.