2017-12-27 15 views
-1

마지막 날에는 파이썬을 실행 가능한 C/C++ 프로그램으로 컴파일하는 도구 인 Nuitka를 가지고 놀고있었습니다.PyPy vs. Nuitka

(PyPy와 비교하여) Nuitka의 속도 이점을 찾지 못했습니다. Nuitka의 의미는 무엇입니까? 내가 놓친 게 있니?

답변

3

Nuitka와 PyPy는 매우 다른 목표를 가지고 있습니다.

Nuitka Python 프로젝트를 Python C-API를 사용하여 C로 컴파일 (Ahead of Time) (AOT)합니다. 이런 식으로 Cython과 더 유사합니다. 그것은 아직 젊은 프로젝트이지만 엄청난 파이썬 언어 스펙과 완벽하게 호환됩니다. 다음 단계는 gcc -O3과 같이 컴파일러 프로세스에서 최적화를 활성화하는 것입니다. Nuitka는 파이썬 코드를 실행 파일로 변환하는 데 사용됩니다. 그런 다음 원래 파이썬 코드에 대한 어떤 수준의 모호함과 함께 실행 파일을 "배포"합니다.

PyPy 어셈블리를 실행중인 코드를 JIT (Just In Time) 컴파일합니다. 실행중인 코드를 추적하고 핫 스폿을 식별하며 프로그램의 핫 섹션의 더 빠른 버전을 생성합니다. 그것도 파이썬 언어 스펙과 완전히 호환됩니다. 그것은 미리 파이썬 코드를 변환하지 않으므로 최종 제품으로 파이썬 코드를 "발송"합니다.

나는 두 프로젝트 모두 실행 속도를 계속 향상시킬 것으로 기대하지만 매우 다른 요구를 목표로합니다.