문제

내가 블로그에서보고 읽은 것에서 Pypy는 매우 야심 찬 프로젝트입니다. 형제 자매 (Cpython, Jython 및 Ironpython)를 통해 테이블에 가져올 몇 가지 장점은 무엇입니까? 속도, 크로스 플랫폼 호환성 (모바일 플랫폼 포함), GIL없이 C- 텍스트를 사용하는 능력입니까, 아니면 수행 할 수있는 작업에 대한 기술적 인 연습이 더 많습니까?

도움이 되었습니까?

해결책

Pypy는 실제로 두 가지 프로젝트입니다.

  • Rpython (Python의 정적 서브 세트)에 통역사를 작성할 수있는 통역사 컴파일러 툴체인으로 .NET (etc)에 대한 JVM 용으로 Cross-Platform 통역사가 독립형으로 구성되어 있습니다.
  • Rpython에서 Python 구현

이 두 프로젝트는 허용됩니다 많은 것들.

  • 파이썬에서 파이썬을 유지하는 것은 C로 유지하는 것보다 훨씬 쉽습니다.
  • 단일 코드베이스에서 JVM, .NET 및 독립형으로 실행되는 Python 통역사를 생성 할 수 있습니다.
  • 컴파일러 도구 체인의 일부에는 실험적인 JIT 생성기가 포함되어 있습니다 (현재 다섯 번째 화신에서 잘 작동하기 시작) - 목표 Jited Pypy가 달리기위한 것입니다 많이 Cpython보다 빠릅니다
  • GIL 제거, 더 나은 쓰레기 수집, Stackless 통합 등과 같은 기본 언어 기능을 실험하는 것이 훨씬 쉽습니다.

따라서 Pypy가 흥미 진진한 많은 이유가 있으며, 마침내 모든 약속에 부응하기 시작했습니다.

다른 팁

가장 중요한 기능은 물론 JIT 컴파일러입니다. cpython에서 파일은 바이트 코드로 컴파일됩니다 (.pyc) 또는 최적화 된 바이트 코드 (.pyo) 그리고 그런 다음 해석되었습니다. Pypy를 사용하면 기본 코드로 컴파일됩니다. pypy도 포함됩니다 스택이없는 파이썬 인상적입니다 특징 (Tasklet 직렬화, 라이트 스레드 등)

그 파이썬이 현실을 얻는 경우 jit 다른 구현만큼 빠를 것이라고 생각합니다.

장점은 새로운 기능을 구현하는 것이 훨씬 쉽다는 것입니다. 라이브러리를 관찰하여 오늘 이것을 볼 수 있습니다. 종종 모듈은 먼저 파이썬으로 작성된 다음 C로 번역됩니다.

크로스 플랫폼 호환성

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top