Eclipse 성능 테스트 플러그인 TPTP... Test & Performance Tools Platform

 무늬만 개발자이기에 Eclipse를 설치해 놓고도 거의 쓰는 일이 없었는데, 최근 잠시 Eclipse를 쓸 일이 생겨서 이래 저래 만져보다가 이전에 설치에 실패했던 TPTP(Test & Performance Tools Platform)가 불현듯 생각 나서 다시 설치를 시도 해보았다. 회사에서는 MS Windows 상에서 Eclipse를 사용 하기에 이전부터 쓰고 있던 WTP(Eclipse 3.3.2 Europa)에 TPTP 4.4.x All TPTP plugin Runtime을 설치해 주었더니 잘 동작했다.

 집에서는 더욱 더 Eclipse를 쓰는 일이 없지만, MS Windows에도 구축한 환경이라, 우분투가 깔린 내 노트북에도 설치해 보았다. 근데 이게 만만치 않았다. 설치를 성공하는 데 3일이 걸렸다. Eclipse 3.3도 써 보고, 3.4도 써보고 이래 저래 삽질을 한 끝에 결국은 TPTP All-in-One Package를 설치하고, 이런 저런 삽질을 더 해준 후에야 TPTP가 정상적으로 동작하는 것을 볼 수 있었다.

  테스트를 위해 몇분 만에 후딱 짠 프로그램을 TPTP로 성능 측정을 해보았다. 테스트한 프로그램은 num(초기값:0)이라는 변수를 1000번 임의로 +1 혹은 -1 하는 프로그램이다. Console에 찍힌 것 처럼 num 결과값은 32, +1을 516번, -1을 484번 했다. TPTP에 찍힌 메소드 호출 횟수 역시 결과값과 동일하다. 그리고 각 메소드가 프로그램의 총 실행시간 중 어느정도의 비중을 차지하고 있는지도 알 수 있다.
 
 최근 Socket을 이용해서 다른 프로그램과 데이터를 주고 받는 모듈(?)을 만들 기회가 있었는데, 처음에는 데이터가 발생할 때 마다 Connect해서 데이터를 전송하고, Close하는 방식으로 짰다. 그리고는 TPTP를 통해서 테스트를 해보니 Connect 시 엄청난 부하(시간의 Delay)가 발생하는 것을 보고는 연결을 유지한 채로 데이터를 받는 방식으로 고쳤다. TPTP를 실행해 보기 전까지는 Connect 시 부하가 생길 것은 예상했지만, 그 정도로 실행 속도에 영향을 줄 것이라고는 미쳐 생각을 하지 못했다.

 요즘 빨라진 컴퓨터의 성능으로 프로그램을 짜고 난 후 테스트를 간단하게만 할 경우, 프로그램의 성능에 대한 문제를 알아채기란 쉽지 않다. 그럴 경우 이 TPTP를 이용하면 눈에 보이는 수치로써 성능을 측정해 주고, 더욱 많은 데이터를 처리할 경우에는 얼마나 문제가 될 것인지도 예측할 수 있다. 그런 면에서 Eclipse로 개발을 한다면 필수적으로 함께 사용해야 할 플러그인이라는 생각이 든다.

 설치한 환경은 Ubuntu 8.04 Hardy Heron, Eclipse 3.4 Ganymede(TPTP All-in-One Package) 이다. 가장 힘들었던 삽질은 libstdc++2.10-glibc2.2 패키지의 설치였다.

 TPTP는 실행시 libstdc++-libc6.2-2.so.3 파일이 필요한데, 이 파일이 TPTP 실행 시 필요하다는 것을 아는데 이틀이 걸렸다. 또 이 파일이 Feisty인지 Gutsy를 마지막으로 사라졌기에 Feisty에 있는 패키지를 받아서 설치했다. 그리고 나서 리부팅을 하지 않고 하루종일 삽질하다가 내일하자고 포기하고 컴퓨터를 끄고 잔 후, 회사를 다녀와서 다시 부팅을 해보니  문제가 해결되었다.

 요약하자면 'TPTP All-in-One 설치 후, libstdc++2.10-glibc2.2 패키지 설치, 그리고 재부팅'으로 30분도 안 걸릴 작업이다. 난 3일이나 걸렸지만...

libstdc++2.10-glibc2.2 패키지는 아래 주소를 /etc/apt/sources.list에 추가한 후, 찾아서 설치하면 된다.
deb http://archive.ubuntu.com/ubuntu/ feisty universe

by sakuragi | 2008/07/03 02:28 | :: C space :: 컴퓨터 | 트랙백 | 덧글(4)

트랙백 주소 : http://sakuragis.egloos.com/tb/4463098
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 환상경 at 2008/07/03 09:29
ㅎㅎㅎ 이참에 TPTP 를 사용법을 올려주세요~~~~ ㅋㅋㅋ
Commented by sakuragi at 2008/07/04 01:58
참고자료에 있는 글이 제가 본 TPTP 관련 한글 사이트 중에선 가장 상세한 것 같아요.
저렇게 상세한 사이트가 있는데, 제가 또 포스팅하면 부끄러워요~ ^^a
Commented by lowid at 2008/07/03 21:43
이클립스에서는 저런기능도 있군요.. gui환경이라 딱딱 바로 눈에 들어오니까 편리하네요..
전그냥 타이머돌거나 loop도는거쓸때
그냥 time쓰거나 gcc(?) 인가에서 지원하는 프로파일링 기능만 몇번 써본거 끝이라는.
Commented by sakuragi at 2008/07/04 01:59
사실 저는 그동안 이렇게 정량적인 성능(속도) 측정을 해본적이 없어서, 신선하기도 하고 재미있기도 하네요. ^^

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶

:+: sakuragi's Steam :+: