![[Python] C Library 이용해서 성능 높이기(SIMD + 병렬처리, 3편)](https://devocean.sk.com/thumnail/2024/10/22/c7aa5a88cc502ff04b3cc9525642a0c225571d9875845a184e24b6171f75cf47.png)
백엔드
[Python] C Library 이용해서 성능 높이기(SIMD + 병렬처리, 3편)
두줄요약
Python 연산을 C++ DLL로 넘겨 Thread, OpenMP, SIMD를 적용해 성능을 비교했습니다. 멀티코어 활용 효과는 컸지만 SIMD와 OpenMP의 단순 적용 효과는 크지 않았습니다.
핵심 내용
- Python 연산을 C++ DLL로 옮겨 성능을 높이는 방법 정리
- C++ Thread, OpenMP, SIMD intrinsic을 각각 적용한 덧셈 처리 방식 비교
- ctypes와 NumPy 배열을 C 함수에 넘겨 벤치마킹 수행
적용해볼 점
- GIL을 벗어난 멀티코어 활용의 이점 확인
- OpenMP의 단순 반복문 병렬화는 기대만큼 효율적이지 않은 사례
- SIMD 최적화 효과는 환경에 따라 제한적일 수 있음
