속도가 중요할까 잘짜여진 프레임웍이 중요할까.

2009. 4. 8. 09:15Java


속도가 중요할까 잘짜여진 프레임웍이 중요할까.


프로그래머서 항상 생각하는 분야일것이다.
마침 여기에 대한 내용이 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버전이 올라갈수록 알아서 속도도 올라간다.
속도보다는 최대한 가독성있게 프로그래밍을 하자 이다.

.
결론 이거지만, 항상 언제나 예외가 있기마련이다.
사용처에 맞게 이런방법도 쓰고, 저런방법도 써야할것이다.