PyPy 0.7.0 릴리스

멋지구리 파이썬 해커들이 파이썬으로 만드는 파이썬
PyPy
0.7.0이
릴리스
되었습니다.

그동안은 뜨는데 몇십분이 걸리고 그랬는데, 이제는 인내력이
별로 없는 사람도 어느 정도는 해 볼 수 있을 정도는 됐군요. 🙂

릴리스 노트에서도 밝히듯이 어디까지나 연구목적의 프로젝트이기
때문에, 너무 성능을 진지하게 받아들이면 안 되겠지만.. 🙂
언젠가는 더 나을지도 모를일~ 한동안 구체적으로 보지는 못했지만
이번 릴리스에서 특이한 점은. Armin이
“C로 구현된 두번째 파이썬을 소개합니다.”라고 PyPy를 소개했다는 점~
자세히 보니까, LLVM(Low-Level Virtual Machine)이란 것이
새로 도입되었는데, 기존의 CPython이 VM과 런타임, 표준 라이브러리가
혼란스럽게 섞여있는 반면에, PyPy에서 LLVM을 백엔드로 선택하는
경우에는 VM만을 저수준으로 격리해서 C로 구현된 것을 돌리고,
런타임과 표준 라이브러리, 컴파일러 등은 파이썬으로 만든 것을
돌릴 생각인 것 같군요.

유럽연합의 지원을 충분히 받으면서 재미있는 프로젝트를 하고
있는 것 같아서, 무척 부럽습니다. 🙂 기대가 되는군요!

1 thought on “PyPy 0.7.0 릴리스”

  1. “C로 구현된”이라고 소개한 부분은 LLVM과는 별로 관계가 없고, 파이썬 소스를 C로 컴파일하는[!] 부분을 말합니다.

    pypy/translator/goal 아래 runtranslate.sh를 실행해 보세요. 전체 소스를 한꺼번에 읽어서 type inference를 하기 때문에 램이 많이 (>500 M) 필요합니다. 그러면 PyPy 전체가 100 M 정도 되는 (CPython 코드는 하나도 사용하지 않는) C 소스 파일 하나로 컴파일이 되고, GCC가 제법 오래 비명을 지른 다음에, pypy-c라는 실행파일이 생깁니다. py.py를 직접 실행하는 것보다는 많이 (>10배?) 빠릅니다만 아직은 많이 느립니다.

    C 소스 대신 LLVM으로 컴파일할 수도 있습니다. run_pypy-llvm.sh를 실행하면 됩니다. 두 쉘 스크립트가 실제로 실행하는 translate_pypy.py에 -h 옵션을 주면 다른 옵션들도 나옵니다.

    더 자세한 내용은 http://codespeak.net/pypy/dist/pypy/doc/getting-started.html#translating-the-pypy-interpreter 에 있습니다.

Comments are closed.