파이썬 모듈로 사용하기 위해 C 언어로 직접 함수를 작성할 때 파이썬 C API를 사용하여 얼마나 많은 성능을 얻을 수 있는지 시각화 한 데이터가 있습니까?파이썬 C API의 성능이 향상 되었습니까?
"C가 더 빠름"이라는 명백한 사실 외에도; 파이썬 C API와 C를 비교하는 데이터가 있습니까?
파이썬 모듈로 사용하기 위해 C 언어로 직접 함수를 작성할 때 파이썬 C API를 사용하여 얼마나 많은 성능을 얻을 수 있는지 시각화 한 데이터가 있습니까?파이썬 C API의 성능이 향상 되었습니까?
"C가 더 빠름"이라는 명백한 사실 외에도; 파이썬 C API와 C를 비교하는 데이터가 있습니까?
"데이터"를 쉽게 얻을 수있는 방법이 있는지 모르겠습니다. 정말 당신이하고있는 일에 달려 있습니다. 파이썬에서 직접 연산을 수행하는 것과 비교하여, 파이썬 측에서 C 측으로 데이터를 다시 전송하는 것은 시스템에 추가로드가 될 것이라는 점을 고려해야합니다.
많은 계산을하고 있고 계산이 복잡하지만 기존 라이브러리 (예 : "numpy")에서 수행 할 수없는 경우 수행해야 할 가치가 있습니다. 물론 계산이 반드시 "수학"일 필요는 없으며 데이터를 큰 배열로 셔플하거나 if (x > y) z++;
유형 연산을 수행 할 수 있습니다. 그러나 데이터를 "파이썬"에서 "C"유형의 데이터로 변환하고 다시 사용하기 전에 많은 일을해야합니다.
"이 스포티 한 자동차가 그렇게 스포티 한 자동차보다 얼마나 빨랐는지"묻는 것과 조금 다릅니다. 혼잡이 많은 대도시에서 운전하면 차이가 전혀 없을 수도 있습니다. 스포티 한 차가 다리를 제대로 뻗칠 수있는 경마장으로 데려 간다면 우승자는 분명합니다.
"car"테마에서 "혼잡"은 C에서 매우 작은 함수를 호출하는 것으로 많은 작업을 수행하지 않습니다. "Python에서 C로 변환하고 다시 파이썬 데이터로 변환"은 혼잡/교통 신호등. 큰 데이터 덩어리가 있다면 좀 더 "레이스 트랙"효과를 얻을 수 있습니다.
귀하의 벤치 마크가 그리 공정하지 않은 것으로 의심됩니다. 파이썬에서 숫자를 C로 복사 했습니까? 아니면 C 또는 파이썬에서 숫자를 2 또는 3으로 나누는 많은 횟수로 반복 했습니까? –
@ josten : 그건 사실 오히려 불공평합니다. 그리고 제가 말씀 드렸듯이, 정확히 당신이 계획하고있는 일과 파이썬에서 얼마나 많은 일을 할 수 있는지에 달려 있습니다. 파이썬에서 C로 그리고 다시 돌아가는 오버 헤드가 있습니다. 그리고 C로 코드를 작성하는 것이 큰 이점이라면 C에 전체를 쓰는 것이 어떻겠습니까? –