AKTUALNOŚCI

nowości, informacje, szkolenia

cython 예제

2/08/2019

이미 많은 C 최적화 라이브러리가 있음에도 불구하고, 어떤 때는 이미 당신이 하려고하는 일에 대한 C 래퍼가 없으며, 많은 라이브러리 또는 그 일부가 정적 입력을 강제로 하지 않을 정도로 열려 있기 때문에 최적화되지 않은 라이브러리에 갇혀 있습니다. 코드가 C보다 느립니다. 여기서는 Cython으로 코드를 최적화하는 방법에 대해 이야기합니다. profile.py 이에 대한 해결 사례의 예를 보여 주어 있습니다. 라이브러리에서 함수를 실행하기 위해 f() 함수를 다시 정의하면 프로파일이 percall별로 정렬된 함수별로 인쇄되고 세분화됩니다. 다음 단계로 보자. Cython은 파이썬 이상이며 선택적 입력을 추가합니다. 여기서는 모든 변수를 정수로 정의하고 성능이 급증합니다: Cython은 코드 속도를 크게 향상시킬 수 있는 파이썬의 슈퍼세트입니다. 더 큰 이점을 위해 선택적 형식 선언을 추가할 수 있습니다. Cython은 코드를 파이썬 확장 모듈로 컴파일되는 최적화 된 C / C ++로 변환합니다.

이 모든 것을 Cython은 외부 C 라이브러리를 래핑하고 CPython을 기존 응용 프로그램에 포함시키고 파이썬 코드 실행 속도를 높이는 빠른 C 모듈에 이상적인 언어입니다. Cython과 함께 C++를 사용하는 방법에 대한 자세한 내용은 Cython에서 C++ 사용을 참조하십시오. »Cython 코드에 대해 좋아했던 것은 파이썬 목록을 사용하여 소용돌이 개체를 관리한다는 것입니다. 이것은 우리가 객체를 관리하기 위해 일반 파이썬 컨테이너를 사용할 수 있음을 보여줍니다. 이것은 매우 편리합니다. […] 이 자습서에서는 Cython을 설치하는 방법, Python 코드의 즉각적인 성능 향상을 무료로 얻는 방법, 그리고 형식을 추가하고 코드를 프로파일링하여 Cython을 실제로 활용하는 방법을 배웁니다. 마지막으로 C/C++ 코드 및 NumPy와의 통합과 같은 고급 항목에 대해 알아보고 더 많은 이점을 얻을 수 있습니다. »… 현재 바인딩이 C++로 직접 작성되고 유지 관리의 악몽이기 때문에 바인딩을 다시 작성해야 합니다. 이 새로운 바인딩은 Cython«→ Bastien 레오나드이 .html 파일과 함께 C 파일을 생성합니다. 해당 .html 파일을 열면 파이썬에 대한 대략적인 근접에 따라 노란색으로 강조 표시된 선을 볼 수 있습니다. 이것은 완벽하지 않으며, 항상 이 출력을 기반으로 개선할 수는 없지만 개선할 수 있는 영역을 찾는 것이 도움이 될 수 있습니다.

예를 들어 실제 cython 파일에 대해 동일한 HTML 파일을 생성할 수 있습니다. 이것은 즉시 Cython 코드를 컴파일하고 너무 많은 문제없이 네이티브 최적화의 이점을 누릴 수있는 문입니다. »이것이 사이톤에 대한 심피 사람들이 계속 하는 이유입니다 – 그것은 급속하게 되고 있습니다 (또는 이미 되고있다) 파이썬에 레거시 라이브러리를 노출의 언어 프랑카.