[Python] 컴파일로 속도 개선하기(Cython)
·
Python
0. Cython? line_profiler 같은 프로파일링 툴로 알고리즘을 최적화하여 CPU에서의 계산량, RAM에서의 병목을 어느 정도 개선했다면 노력 대비 속도 개선이 줄어드는, 즉 한계 효용이 감소하는 시기가 옵니다. 그러면 다음으로 시간을 줄이는 가장 쉬운 방법은 기계어로 컴파일하는 것입니다. 컴파일을 하게 되면 CPU에서 바로 실행 가능한 기계어로 변환되며, 이는 같은 연산을 반복하는 루프나 list, array에 대한 역참조, 수학 계산과 같은 곳에서 시간을 줄여줄 수 있습니다. 대표적으로 파이썬을 C언어로 컴파일 해주는 라이브러리인 사이썬(Cython)이 있습니다. 사이썬은 파이썬 코드를 컴파일된 확장 모듈로 변경해 주고 이 확장 모듈을 import 해서 쓰기만 하면 되기 때문에 비교적 사..