2012-09-05 3 views
5

저는 프로젝트에서 부스트 파이썬을 실험하고 있습니다. 내 파이썬 인터페이스를 구성하는 방법을 조사 할 때 comment에 부딪쳤다.이 부분은 부스트 ​​파이썬에서 성능 문제가 있다고 주장했다. 성능에 실제 관심이 있습니까?부스트 파이썬의 성능

큰 프로젝트로 작업 중이며 일부를 파이썬에 노출하려고합니다. 그 부스트 비단뱀은 내가 이미 가지고있는 클래스를 노출 쉽게합니다. 그래서 나는 클래스를 노출시키는 boost python의 방법을 고수하기를 선호한다. 왜냐하면 그것은 매우 쉽기 때문이다. 누군가가 사용하기 쉽고 성능이 뛰어난 대안을 갖고 있지 않는 한.

답변

2

우리는 다른 분야의 연구자를 위해 구성 가능한 소프트웨어 패키지에 대형 컴퓨터 비전 라이브러리를 통합하기 위해 boost :: python을 사용하고 있습니다. 우리는 염려 나 문제에 대해 몰랐습니다. 그러나 최근에는 비교 테스트를 수행하지 않았습니다.

2

귀찮은 루프에서 파이썬과 C++간에 많은 호출이 필요하다면 Boost.Python은 적어도 Python C-API를 사용하는 수동 롤 래퍼와 관련하여 성능 문제가 될 수 있습니다 직접. SWIG와 마찬가지로 사용자 친화적 인 것보다 더 나쁜 것을 수행 할 것인가를 짐작하는 것은 훨씬 어렵습니다.

하지만 가장 큰 성능 문제는 이러한 일종의 앞뒤로 피할 수 있는지 여부입니다. C++/Python 장벽을 반복적으로 통과하지 못하도록하는 API는 일반적으로 라이브러리 나 래퍼 도구 너는 사용한다. 대부분의 경우는 루프를 Python에서 C++로 이동하고 Python 콜백, 특히 해당 루프 내에서 Python에서 C++ 로의 유형 변환을 피하는 것을 의미합니다.