더북(TheBook)

아이템 96
성능과 편의성을 최대화하기 위해 확장 모듈을 고려하라

CPython 구현(아이템 1 “사용 중인 파이썬의 버전을 알아두라” 참조)은 C 언어로 작성한 확장 모듈(extension module)을 지원한다. 이런 모듈은 파이썬 API를 직접 사용할 수 있어서 객체지향 기능(7장 참조), 덕 타이핑 프로토콜(아이템 25 “딕셔너리 삽입 순서에 의존할 때는 조심하라” 참조), 참조 카운팅 기반의 가비지 컬렉션 등 파이썬의 핵심 기능을 그대로 활용할 수 있다. 앞의 아이템(아이템 95 “네이티브 라이브러리와 빠르게 통합하기 위해 ctypes를 고려하라” 참조)에서는 ctypes 내장 모듈의 장점과 단점에 대해 설명했다. 만약 파이썬다운 개발 환경을 제공하면서도 성능이나 플랫폼에 따른 기능을 포기하고 싶지 않다면, C 확장 모듈이 더 적합한 선택이다.