장바구니 담기 close

장바구니에 상품을 담았습니다.

오픈소스 소프트웨어 성능 최적화 보고서

오픈소스 소프트웨어 성능 최적화 보고서

  • 테이비시 암스트롱
  • |
  • 제이펍
  • |
  • 2014-05-21 출간
  • |
  • 308페이지
  • |
  • 188 X 245 X 30 mm /648g
  • |
  • ISBN 9788994506906
판매가

15,000원

즉시할인가

13,500

배송비

2,300원

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
13,500

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

크롬은 브라우저 전쟁에서 어떻게 살아남았을까?
크롬뿐만이 아니다. 여러 오픈소스 소프트웨어가 지금의 성능 최적화를 이루기까지
수많은 시행착오 속에 그 비밀이 들어있다!

1974년에 커누스(Donald Knuth)가 쓴 “이를테면 약 97%의 경우에서 작은 효율성들은 무시해야 마땅하다. 때 이른(premature) 최적화는 만악의 근원이다.”라는 유명한 문구를 기억할 것이다. 컴퓨터들이 당시보다 수백만 배는 빨라진 지금, 프로그래머들은 CPU 주기를 줄이고 바이트들을 아끼는 데 한 세대 전의 프로그래머들보다는 신경을 훨씬 덜 써도 된다. 그러나 “덜 쓴다”가 “안 쓴다”는 아니다. 가끔은 컴퓨터의 성능을 마지막 한 방울까지 짜내는 것이 정말로 중요할 때가 있다.

이 책은 오픈소스 소프트웨어의 느린 코드, 메모리 누수, 제어할 수 없는 잠복지연과 싸워야 했던 십여 명의 개발자들이 저술했다. 이 책을 통해 그들은 자신의 실수와 성공담을 공유하고, 주어진 도전과제에 자신이 어떻게 접근했는지를 독자가 어깨 너머로 볼 수 있게 한다. 생물정보학 연구 코드에서 웹 브라우저에 이르기까지 다양한 사례의 문제들이 등장하며, 그만큼이나 다양한 해법들이 제시된다.

독자가 신입 개발자이든 고참 개발자이든, 성능에 대한 동료 개발자들의 관점과 접근방식을 독자가 이해하는 데 이 책이 도움이 될 것이다.

이 책에서 논의하는 오픈소스 소프트웨어:
● 파이어폭스
● Pugixml
● 크롬
● Ninja
● EtherCalc
● Talos
● Warp
● Khmer
● Zotonic
● DAnCE
● Infinispan
● 또한 이동통신망의 성능에 대해서도 논의한다.

목차

제1장 크롬의 고성능 네트워킹
1.1 구글 크롬의 역사와 기본 지침 1
1.2 성능의 여러 측면 2
1.3 현대적인 웹 응용 프로그램의 특징 4
1.4 네트워크 자원 요청 하나의 일생 5
1.5 “충분히 빠르다”의 의미 8
1.6 3천 미터 상공에서 본 크롬의 네트워크 스택 10
1.7 브라우저 세션의 일생 19
1.8 크롬은 사용하면 할수록 빨라진다 33
제2장 SocialCalc에서 EtherCalc로
2.1 초기 원형 38
2.2 첫 번째 병목 39
2.3 Node.js로 이식 41
2.4 서버 쪽 SocialCalc 42
2.5 Node.js 프로파일링 43
2.6 다중 코어 규모 확장 46
2.7 교훈 48
제3장 Ninja
3.1 크롬의 간단한 역사 54
3.2 Ninja의 설계 56
3.3 Ninja가 하는 일 58
3.4 Ninja의 최적화 60
3.5 결론 및 설계 대안 67
3.6 감사의 글 68
제4장 빛의 속도로 XML 파싱하기
4.1 소개 69
4.2 XML 파싱 모형들 70
4.3 pugixml 설계상의 선택들 71
4.4 파싱 72
4.5 DOM 자료구조 85
4.6 스택 기반 메모리 할당 89
4.7 스택 기반 할당자의 메모리 해제 지원 93
4.8 결론 95
제5장 MemShrink
5.1 소개 97
5.2 기반구조의 개요 98
5.3 잰 만큼 얻는다 101
5.4 달성하기 쉬운 과제들 105
5.5 내 잘못은 아니지만 내 문제 108
5.6 영속성은 탁월함의 대가 110
5.7 공동체 112
5.8 결론 113
제6장 최적화 원리 패턴들을 구성요소 배치와 구성 도구들에 적용하기
6.1 소개 115
6.2 DAnCE의 개요 119
6.3 최적화 원리 패턴들을 DAnCE에 적용하기 123
6.4 결론 140
제7장 Infinispan
7.1 소개 145
7.2 개요 146
7.3 Infinispan의 벤치마킹 149
7.4 Radar Gun 150
7.5 성능 문제의 잠재적 근원 153
7.6 결론 159
제8장 Talos
8.1 개요 162
8.2 측정 대상의 이해 164
8.3 재작성 대 리팩터링 167
8.4 성능 문화 만들기 168
8.5 결론 171
제9장 Zotonic
9.1 Zotonic 소개 173
9.2 왜 Zotonic인가? 왜 Erlang인가? 174
9.3 Zotonic의 구조 177
9.4 문제 해결: 슬래시닷 효과에 맞서기 180
9.5 캐싱 계층들 183
9.6 Erlang의 가상 기계 190
9.7 Webmachine 라이브러리 변경 사항 194
9.8 자료 모형: SQL 기반 문서 데이터베이스 196
9.9 벤치마크, 통계치, 최적화 197
9.10 결론 199
9.11 감사의 글 200
제10장 이동통신망 성능의 비밀
10.1 소개 201
10.2 잠복지연의 근원들 202
10.3 셀 방식 이동통신망의 특성 203
10.4 네트워크 프로토콜 성능 208
10.5 TCP(전송 제어 프로토콜) 209
10.6 HTTP(하이퍼텍스트 전송 프로토콜) 213
10.7 TLS(전송층 보안) 216
10.8 DNS(도메인 이름 시스템) 219
10.9 결론 221
제11장 Warp
11.1 Haskell의 네트워크 프로그래밍 224
11.2 Warp의 구조 229
11.3 Warp의 성능 231
11.4 핵심 착안 233
11.5 HTTP 요청 파서 235
11.6 HTTP 응답 조합기 242
11.7 타이머를 이용한 정리 245
11.8 향후 작업 249
11.9 결론 251
제12장 생물정보학의 거대 자료 다루기
12.1 소개 253
12.2 khmer의 구조와 성능상의 고려사항 257
12.3 프로파일링과 측정 261
12.4 조율 265
12.5 전반적인 조율 266
12.6 병렬화 271
12.7 결론 275
12.8 향후 개선안 275
12.9 감사의 글 276
참고문헌 277
찾아보기 282

저자소개

저자 테이비시 암스트롱은 Concordia University에서 소프트웨어 공학을 공부하고 있으며, 2014년 봄에는 졸업할 예정이다.

도서소개

오픈소스 소프트웨어의 최적화 과정을 추적하다!

『오픈소스 소프트웨어 성능 최적화 보고서』는 오픈소스의 느린 코드, 메모리 누수, 제어할 수 없는 잠복지연과 싸웠던 개발자들이 오픈소스 소프트웨어의 성능을 주제로 다양한 사례와 이야기를 담은 책이다. 저자들은 응용 프로그램 안에서 실제로 어떤 일이 일어나는지, 커다란 응용 프로그램을 구성하는 서로 다른 부분들이 어떻게 연동되는지를 상세히 파악해 문제 해결과정을 들려준다. 이처럼 생물정보학 연구 코드에서 웹 브라우저에 이르기까지 다양한 사례의 문제들이 등장하고 그만큼 다양한 해법들을 제시하고 있다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.