PyPy: 두 판 사이의 차이

편집 요약 없음
태그: mobile edit
편집 요약 없음
 
(사용자 7명의 중간 판 11개는 보이지 않습니다)
1번째 줄: 1번째 줄:
[[Python]]으로 구현한 Python 구현이자 세상에서 가장 빠른 Python 구현체. {{ㅊ|뭐지 이 말장난은}}<ref>PyPy는 파이썬으로 파이썬 [[인터프리터]]를 구현했다.</ref> 그리고 그 실체는 '''Python으로 손쉽게 [[Just-in-Time 컴파일|JIT 컴파일러]]를 구현할 수 있는 언어 구현 툴킷'''.
[[Python]]으로 구현한 Python 구현이자 가장 빠른 Python 구현체. 일부 상황에서는 다른 구현체들보다 느려지기도 하지만 대다수의 경우 PyPy가 가장 빠르다. {{ㅊ|뭐지 이 말장난은}}<ref>PyPy는 파이썬으로 파이썬 [[인터프리터]]를 구현했다.</ref> 그리고 그 실체는 '''Python으로 손쉽게 [[Just-in-time 컴파일|JIT 컴파일러]]를 구현할 수 있는 언어 구현 툴킷'''.


<s>[http://morepypy.blogspot.kr/2010/12/we-are-not-heroes-just-very-patient.html 인내심이 굉장히 깊으면 만들 수 있는 것 같다]</s>
[http://morepypy.blogspot.kr/2010/12/we-are-not-heroes-just-very-patient.html 우리는 영웅이 아닙니다. 다만 인내심이 아주 많았을 뿐.]


<s>인터프리터 깎는 장인</s>
PyPy는 크게 두 부분으로 구성되어 있다.
# Python으로 작성된, RPython 컴파일러와 인터프리터 제작 프레임워크
# RPython 문법으로 작성된 Python 인터프리터


그래서 RPython으로 2번의 코드를 돌리면 네이티브 코드로 된 PyPy 구현이 나오고, 그걸 다시 RPython을 실행하는 데에 쓰는 식으로 개발을 진행한다.


크게 두 부분으로 구성되어 있는데, 정적으로 컴파일이 가능하도록 Python 문법을 제약한 RPython 컴파일러와, RPython 문법으로 작성된 파이썬 인터프리터인 <tt>translate.py</tt>로 나눌 있다.
구체적으로 어떻게 빨라질 수 있는지는 다음 글들을 참조.
그래서 RPython으로 <tt>translate.py</tt>를 돌리면 네이티브 코드로 된 파이썬 구현이 나오고, 그걸 다시 RPython 컴파일러를 실행하는 데에 쓰는 식으로 PyPy 개발이 진행되고 있다.
* [http://blog.dahlia.kr/post/5124874464 PyPy가 CPython보다 빠를 있는 이유]
 
* [http://j.mearie.org/post/5125952364/why-is-pypy-faster-than-cpython meta-tracing JIT에 대한 설명]


<s>이 문서는 [[Python]] 문서보다 먼저 만들어졌다.</s>
<s>이 문서는 [[Python]] 문서보다 먼저 만들어졌다.</s>
== 간단한 원리 ==
파이썬 언어로 파이썬 컴파일러(pypy)를 만든 후 원래 있던 컴파일러(Cpython 등)에 돌린다. 그리고 업데이트를 할 때는 수정한 것을 또 pypy로 컴파일한다.->무한 반복


== 외부 링크 ==
== 외부 링크 ==
* [http://pypy.org 공식 웹사이트]
* [http://pypy.org 공식 웹사이트]


==주석==
{{각주}}
<references>
[[분류:컴퓨터 프로그래밍]][[분류:파이썬]]
[[분류: 컴퓨터 프로그래밍]]

2022년 1월 2일 (일) 13:13 기준 최신판

Python으로 구현한 Python 구현이자 가장 빠른 Python 구현체. 일부 상황에서는 다른 구현체들보다 느려지기도 하지만 대다수의 경우 PyPy가 가장 빠르다. 뭐지 이 말장난은[1] 그리고 그 실체는 Python으로 손쉽게 JIT 컴파일러를 구현할 수 있는 언어 구현 툴킷.

우리는 영웅이 아닙니다. 다만 인내심이 아주 많았을 뿐.

PyPy는 크게 두 부분으로 구성되어 있다.

  1. Python으로 작성된, RPython 컴파일러와 인터프리터 제작 프레임워크
  2. RPython 문법으로 작성된 Python 인터프리터

그래서 RPython으로 2번의 코드를 돌리면 네이티브 코드로 된 PyPy 구현이 나오고, 그걸 다시 RPython을 실행하는 데에 쓰는 식으로 개발을 진행한다.

구체적으로 어떻게 빨라질 수 있는지는 다음 글들을 참조.

이 문서는 Python 문서보다 먼저 만들어졌다.

간단한 원리[편집 | 원본 편집]

파이썬 언어로 파이썬 컴파일러(pypy)를 만든 후 원래 있던 컴파일러(Cpython 등)에 돌린다. 그리고 업데이트를 할 때는 수정한 것을 또 pypy로 컴파일한다.->무한 반복

외부 링크[편집 | 원본 편집]

각주

  1. PyPy는 파이썬으로 파이썬 인터프리터를 구현했다.