본문 바로가기
개발

Java String 연산할때는 StringBuffer를 사용하자

by reikop.com 2012. 3. 13.
 얼마전 엑셀 Export 를 제작하는 도중 Export 할때 속도가 너무 안나오는 현상을 발견했다. 소스를 쿼리, 데이터 변형과정, HTML Table 생성과정을 각각 분리하여 시간을 쟀는데 쿼리보다 HTML Table을 만드는데 더 오래걸렸다. 상당히 많은 양을 처리하는데 쿼리에선 1500ms , HTML Table 변경과정 2000ms정도가 나왔었다. 전에 어디선가 본적이 있던 터라 String Buffer를 사용했었는데 속도가 무려 20ms 를 밑도는 성능이 나왔다. 그래서 테스트 프로젝트를 생성하여 테스트를 진행했다.
 
  코드는 단순하게 String에 += 연산자로 다른 문자열을 적재하는 방법으로 2만번을 반복시켰다. 바로 아래에는 StringBuffer를 사용하여 같은 내용으로 테스트를 진행하였다. 결과는 어떨까?

 

 보는 바와같이 엄청난 속도의 차이가 있다. 거의 100배의 가까운속도가 차이가 난다.
 그렇다면 왜 이런 차이가 날까? 그 답은 아래 링크에 자세히 적혀있다.

'개발' 카테고리의 다른 글

Failed to initialize NVML: Driver/library version mismatch  (0) 2023.08.08
superset docker-compose 및 kakao oauth  (0) 2023.06.22
JAVA Sinewave로 소리 재생하기  (0) 2013.11.26
계약서  (0) 2012.07.02