2010년 4월 10일 토요일

이클립스 최적화

현재의 이클립스 3.4 최신버전은 상당히 무겁고 최적화와는 거리가 먼 툴이 되어버렸다. 마치 비만에 걸린 사람 같다고나 할까. 그래서 툭하면 다운되고 permgen space가 어쩌고 에러 메시지가 나온다. 이 글은 현재 진행형이다. 아직 완벽하다고 할 수는 없다. 아무튼 하는데까지 해보자. 굳이 이클립스가 필요한 개발이 아니라면 jbuilder같은 다른 툴을 쓸 수도 있을 것이다.

 

이클립스에서 일반적으로 사용하는 jre는 통상 썬사(얼마전에 오라클에 합병된)에서 배포하는 런타임이다. 이것을 오라클사에서 배포하는 jrockit이란 jre버전으로 교체한다. 이 효과는 꽤 괜찮아서 최소 며칠은 간다. jrockit jre를 설치한 후 기존의 jre는 모두 삭제한다. 그리고 시스템path에 jrockit jre의 javaw.exe의 패스를 걸어준다. 이렇게 하지 않으면 아무리 이클립스안에서 셋팅을 해도 이클립스 자체는 기존 jre로 돌아가게 된다.

 

그런 다음 필자가 첨부한 dtd파일들을 하드 특정 주소에 압축해제하고 이클립스 설정에 들어간다. 원래 이클립스는 xml파일을 열면 거기에 필요한 dtd파일을 다운받는데 이때 인터넷 속도가 느리거나 파일이 없으면 다운되기도 한다. 그래서 이 파일을 하드에 넣어놓고 이클립스에서 웹이 아닌 하드에서 긁도록 만든다. 프로젝트 파일들을 모두 검사해서 필요한 dtd나 xsd 파일은 각자 다운받아서 같은 방법으로 사용하도록 한다. 아래처럼 preference에 들어간다.

 

 

그런 다음 add버튼을 클릭한다. 그리고 아래처럼 다운받은 dtd파일이 있는 곳의 location을 적어주는데 옆의 버튼을 클릭하면 된다. 그리고 key에 xml에서 맨위에 dtd파일 정하는 곳의 주소를 그대로 적는다.

 

 

이런 식으로 xml 로딩의 과부하를 줄인다.

 

이것은 시작에 불과하다.  이제 jre를 설정하는 곳으로 간다.

위에 얘기한 것처럼 jrockit을 설치했다면 아래처럼 떴을 것이다.

 

여기서 jre 찍고 edit 누르면

 

 

이런 창이 뜬다. 그런데 들어간 jar가 생각보다 적다. 해당 폴더를 모두 뒤져서 들어있는 jar는 모두 추가한다. 아마도 im폴더나 security폴더에 몇 개 들어있을 것이다. 이클립스에서 자동으로 추가하는 jar파일은 몇 개 안된다.

 

이제 아래처럼 startup and shutdown에 들어간다.

 

사용 안 하는 것은 모두 체크해제한다. 쓰지도 않는 플러그인들이 모두 체크되어있다. mylyn 이란 놈이 뭔지는 아직 수수께끼이다.

 

아래 그림처럼 들어가서 save interval을 되도록 많이 준다. default는 5이다. 그림처럼 5000으로 해버린다.

 

이것은 다들 아는 validation 체크 싹 빼는 것이다. disable all한다.

 

 

tasks에 들어가서 advanced 클릭하고 enable inactivity timeout체크 뺀다.

 

 

이건 좀 위험하다. 가급적 하지 않는다. 플러그인 들어가서 체크 몽땅 해제한다. build target체크도 뺀다.

 

가장 고문스러운 셋팅이다. keys에 들어가면 셀수없이 많은 이클립스 관련 핫키가 들어있다. 그런데 많기도 너무 많고 거의 사용하지도 않는다. 실제 사용하는 몇개를 남겨두고 나머지는 unbind command 한다. 요령은 찍고 alt+ U 버튼이다. 하다보면 아마 겹치는 key도 굉장히 많고 지저분하다는 것을 알 수 있을 것이다.

 

필자가 사용하는 몇 개를 export한 결과이다.

 

"Run/Debug","Run","Ctrl+F11","In Windows"
"Edit","Quick Fix","Ctrl+1","In Dialogs and Windows"
"Edit","Cut","Ctrl+X","In Dialogs and Windows"
"File","Refresh","F5","In Windows"
"Edit","Word Completion","Alt+/","Editing Text"
"Text Editing","Line End","End","Editing Text"
"Edit","Undo","Ctrl+Z","In Dialogs and Windows"
"Navigate","Open Declaration","F3","In Windows"
"Text Editing","Delete Line","Ctrl+D","Editing Text"
"Edit","Paste","Ctrl+V","In Dialogs and Windows"
"Run/Debug","Debug","F11","In Windows"
"Edit","Delete","Delete","In Windows"
"File","Save","Ctrl+S","In Windows"
"Edit","Redo","Ctrl+Y","In Dialogs and Windows"
"Edit","Copy","Ctrl+C","In Dialogs and Windows"
"Edit","Find and Replace","Ctrl+F","In Windows"


 

이런 내용이 csv로 export되긴 하는데 import는 안된다. 지금까지 모든 셋팅은 하단의 apply버튼을 클릭해야 실제 적용된다. ok버튼은 눌러봐야 소용없다. 다 일일이 apply버튼 찍는다.

 

그리고 이클립스에서 처음에 프로젝트를 만들 시에 바로 만들지 말고 working set이란 것을 따로 만들고 그 밑에 project를 생성한다. 이것은 별로 신빙성은 없지만 왠지 이클립스가 더 가벼워진 느낌이 든다. 원래 이클립스에서 바로 프로젝트를 생성하면 모든 프로젝트는 Other Projects라는 기본 working set에 생성되는데 이것이 별로 좋을 것 같지는 않다. package explorer에서 우측 화살표를 클릭해서 configure working sets를 클릭한다. 그러면 현재 워킹셋이 나오는데 여기서 새로 만들면 된다.

그런 다음 top level elements를 워킹셋으로 설정한다.

 

그외에 체크해제하면 메모리를 꽤 많이 아끼는 셋팅들이다. Use custom caret 를 뺀다.

 

 

Enable spell checking 의 체크박스를 뺀다. 솔직히 스펠링 체크를 이클립스에서 되는 것을 한번도 본적이 없다.

그냥 뺸다. 아마도 ctrl 키를 누른 상태에서 딴 데로 가는 모양인데 아무래도 핫키와 겹칠 가능성이 많다.

 

 

이 지경이 되도록 아무도 이클립스를 가지고 뭐라고 못하는 이유는 단지 이클립스가 무료이기 때문이다. 언제까지 이클립스를 자바 개발자들이 사용할지는 필자도 잘 모르겠다.

댓글 없음:

댓글 쓰기