편집 요약 없음 태그: mobile edit |
편집 요약 없음 |
||
(사용자 7명의 중간 판 11개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
[[Python]]으로 구현한 Python 구현이자 | [[Python]]으로 구현한 Python 구현이자 가장 빠른 Python 구현체. 일부 상황에서는 다른 구현체들보다 느려지기도 하지만 대다수의 경우 PyPy가 가장 빠르다. {{ㅊ|뭐지 이 말장난은}}<ref>PyPy는 파이썬으로 파이썬 [[인터프리터]]를 구현했다.</ref> 그리고 그 실체는 '''Python으로 손쉽게 [[Just-in-time 컴파일|JIT 컴파일러]]를 구현할 수 있는 언어 구현 툴킷'''. | ||
[http://morepypy.blogspot.kr/2010/12/we-are-not-heroes-just-very-patient.html 우리는 영웅이 아닙니다. 다만 인내심이 아주 많았을 뿐.] | |||
PyPy는 크게 두 부분으로 구성되어 있다. | |||
# Python으로 작성된, RPython 컴파일러와 인터프리터 제작 프레임워크 | |||
# RPython 문법으로 작성된 Python 인터프리터 | |||
그래서 RPython으로 2번의 코드를 돌리면 네이티브 코드로 된 PyPy 구현이 나오고, 그걸 다시 RPython을 실행하는 데에 쓰는 식으로 개발을 진행한다. | |||
구체적으로 어떻게 빨라질 수 있는지는 다음 글들을 참조. | |||
* [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 공식 웹사이트] | ||
{{각주}} | |||
[[분류:컴퓨터 프로그래밍]][[분류:파이썬]] | |||
[[분류: 컴퓨터 프로그래밍]] |
2022년 1월 2일 (일) 13:13 기준 최신판
Python으로 구현한 Python 구현이자 가장 빠른 Python 구현체. 일부 상황에서는 다른 구현체들보다 느려지기도 하지만 대다수의 경우 PyPy가 가장 빠르다. 뭐지 이 말장난은[1] 그리고 그 실체는 Python으로 손쉽게 JIT 컴파일러를 구현할 수 있는 언어 구현 툴킷.
우리는 영웅이 아닙니다. 다만 인내심이 아주 많았을 뿐.
PyPy는 크게 두 부분으로 구성되어 있다.
- Python으로 작성된, RPython 컴파일러와 인터프리터 제작 프레임워크
- RPython 문법으로 작성된 Python 인터프리터
그래서 RPython으로 2번의 코드를 돌리면 네이티브 코드로 된 PyPy 구현이 나오고, 그걸 다시 RPython을 실행하는 데에 쓰는 식으로 개발을 진행한다.
구체적으로 어떻게 빨라질 수 있는지는 다음 글들을 참조.
이 문서는 Python 문서보다 먼저 만들어졌다.
간단한 원리[편집 | 원본 편집]
파이썬 언어로 파이썬 컴파일러(pypy)를 만든 후 원래 있던 컴파일러(Cpython 등)에 돌린다. 그리고 업데이트를 할 때는 수정한 것을 또 pypy로 컴파일한다.->무한 반복