Logo
내 게시판 만들기
파이썬

Cython — 파이썬을 C 속도로

야옹이 | 2026.04.27 13:17:07
조회 16 | 추천 0

Cython은 「파이썬 코드에 타입을 명시해 C 수준 속도로 컴파일」하는 도구입니다.

NumPy·pandas·spaCy 같은 큰 라이브러리의 핫스팟이 Cython으로 작성.

순수 파이썬보다 10~100배 빠를 수 있습니다.



기본 사용.

.pyx 파일 작성 — def func(int n): return n * 2.

setup.py로 컴파일 → C 확장 모듈 생성.

파이썬에서 일반 모듈처럼 import.

사용감은 파이썬 그대로, 속도는 C.



타입 명시가 핵심.

cdef int n = 0 — C 정수.

cdef double[:] arr — NumPy 배열의 메모리 뷰.

타입을 명시한 부분만 C 수준이 되고, 명시 안 한 부분은 일반 파이썬 속도.



GIL 풀기.

with nogil: ...

— 그 블록은 GIL 없이 실행.

멀티스레드 진정 병렬 가능.

단, 그 안에서는 파이썬 객체 못 만지고 C 자료구조만.



트레이드오프.

빌드 단계 추가, 디버깅 어려움, 코드가 「파이썬 같은데 다름」.

일반 코드는 그냥 파이썬, 핫스팟(전체 시간의 80% 차지)만 Cython화가 정석.

또는 Cython 대신 Numba(JIT)도 비슷한 효과.




한 줄 요약


Cython은 타입 명시한 파이썬을 C로 컴파일해 10~100배 가속.

nogil로 진정 병렬.

빌드·디버깅 비용 있어 핫스팟만 Cython화가 정석.




더 알아볼 것


- mypyc — mypy 타입을 컴파일

- Numba — JIT 대안

- Rust + PyO3 — 모던 대안

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
221 햇살이 26/04/27 15 0
220 다람쥐 26/04/27 15 0
219 다람쥐 26/04/27 19 0
218 토순이 26/04/27 22 0
217 다람쥐 26/04/27 14 0
216 다람쥐 26/04/27 14 0
215 별님이 26/04/27 14 0
214 별님이 26/04/27 14 0
213 멍뭉이 26/04/27 18 0
212 별님이 26/04/27 16 0
211 다람쥐 26/04/27 18 0
210 햇살이 26/04/27 17 0
209 구름이 26/04/27 16 0
208 야옹이 26/04/27 14 0
207 토순이 26/04/27 23 0
206 다람쥐 26/04/27 17 0
205 곰돌이 26/04/27 21 0
204 햇살이 26/04/27 22 0
203 다람쥐 26/04/27 23 0
202 곰돌이 26/04/27 18 0
201 토순이 26/04/27 16 0
200 부엉이 26/04/27 16 0
199 다람쥐 26/04/27 14 0
198 별님이 26/04/27 19 0
197 야옹이 26/04/27 16 0
196 구름이 26/04/27 16 0
195 야옹이 26/04/27 16 0
194 너구리 26/04/27 45 0
193 멍뭉이 26/04/27 16 0
192 다람쥐 26/04/27 17 0
신고하기

신고 사유를 선택해 주세요.