티스토리 뷰
ruby가 깔끔하고 타 언어의 좋은 장점들만을 모아서 만들었다는 철학에 걸맞게 좋은 인상을 주고 있다. 하지만 다만 한가지 걸리는 것은 웹 개발시 production level에서도 사용할 수 있을 만한 성능을 내줄 수 있느냐 하는 것이다.
우선은 소프트웨어의 구조를 잘 정돈하고 profiling을 통해서 성능 개선을 하면 어느 정도는 만족하지 않을까....
ruby interpreter에는 profiler가 내장되어 있다. profiler library를 포함시키는 것 만으로 전체 프로그램 실행 결과에 대한 profiling 결과를 얻을 수 있는데 -r profiler 또는 source code에 require "profiler"를 추가하면 된다.
개인적으로는 소스를 고치지 않고 -r profiler 옵션을 붙여서 실행하는 것을 선호한다. 아무튼 profiling을 한 결과는 프로그램 실행 후 다음과 같이 출력이 된다.
다른 profiler와 비슷한 출력 결과를 보여주는데 java의 profiler와 같이 thread stack도 같이 보여주면 좋을 것 같은데 아쉽게 그렇게 그 정도까지 보여주진 않는다. 하지만 이런 정보를 -r profiler 옵션 하나로 쉽게 볼 수 있다는게 어딘가..
우선은 소프트웨어의 구조를 잘 정돈하고 profiling을 통해서 성능 개선을 하면 어느 정도는 만족하지 않을까....
ruby interpreter에는 profiler가 내장되어 있다. profiler library를 포함시키는 것 만으로 전체 프로그램 실행 결과에 대한 profiling 결과를 얻을 수 있는데 -r profiler 또는 source code에 require "profiler"를 추가하면 된다.
개인적으로는 소스를 고치지 않고 -r profiler 옵션을 붙여서 실행하는 것을 선호한다. 아무튼 profiling을 한 결과는 프로그램 실행 후 다음과 같이 출력이 된다.
% cumulative self self total
time seconds seconds calls ms/call ms/call name
38.18 1.26 1.26 1145 1.10 1.49 KeywordExtractor#goto_s
12.73 1.68 0.42 68 6.18 113.38 Array#each
12.42 2.09 0.41 2946 0.14 0.16 Hash#[]
4.24 2.23 0.14 1780 0.08 0.08 Fixnum#==
3.33 2.34 0.11 1641 0.07 0.07 NilClass#nil?
다른 profiler와 비슷한 출력 결과를 보여주는데 java의 profiler와 같이 thread stack도 같이 보여주면 좋을 것 같은데 아쉽게 그렇게 그 정도까지 보여주진 않는다. 하지만 이런 정보를 -r profiler 옵션 하나로 쉽게 볼 수 있다는게 어딘가..
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 애니콜
- macosx
- 티스토리
- ETech08
- 뉴질랜드
- 블로그
- 애플
- 일본
- 구글
- 마인드맵
- 큐슈
- 여행
- 루비
- 웹2.0
- Palm
- 온천
- 쿠로카와
- 맛집
- iPhone
- ETechConf08
- 남섬
- etech
- 영화
- 게임
- 책
- 샌프란시스코
- 맥북
- 사진
- 컨퍼런스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함