본문 바로가기

엔지니어링(TA, AA, SA)/성능과 튜닝

(32)
[성능튜닝] 개발에서의 알고리즘 데이터 규모와 계산량 차이대상이 되는 데이터가 크면 클수록 알고리즘이나 데이터 구조 선택이 속도에 영향을 미치게됩니다. 예를 들면, 데이터 내에서 필요한 데이터를 처음부터 순차적으로 찾아가는 '선형탐색(Linear Search)'은 n건에 대해 n번의 탐색이 필요하므로 O(n)의 알고리즘입니다. '이분탐색(Binary Search)'은 n건의 데이터에서 log n번 만에 목적 데이터를 찾는 알고리즘으로, O(log n)의 알고리즘 입니다. 1,000건에 대해 최대 10번 만에 탐색이 완료됩니다. 데이터 건수가 늘어감에 따라 알고리즘 선택의 차이가 점점 커지고, 목적 데이터를 찾는 처리를 할 때 선형탐색을 사용하는 부분에서 데이터 건수가 1,000건, 100만건, 1,000만 건으로 늘어난다면 당연히 그 ..
[성능튜닝] 가비지 컬렉터(GC) 이해하기 유닉스 서버든 윈도우 기반 서버든 풀(Full) GC를 수행하는 시점에는 해당 WAS의 컨테이너에서 서비스가 처리되지 않는다는 단점이 있습니다. 다시 이야기하면 GC를 많이하면할수록 응답 시간에 많은 영향을 끼친다는 것입니다. 그러므로 자신이 만든 자바 프로그램의 성능을 생각하는 자바 엔지니어라면, GC가 어떻게 처리되는지 기본 지식은 갖고 있어야 합니다. GC가 언제 발생하는지 알기 위해서는 GC가 어떻게 수행되는지 원리를 알아야 합니다.http://java.sun.com/javase/technologies/hotspot/gc/index.jsphttp://d2.naver.com/helloworld/1329 GC(가비지 콜렉터)란?자바에서는 메모리를 GC라는 알고리즘을 통하여 관리(automatic me..