더 쉽고 빠른 파이썬” 파이파이(PyPy)의 이해
파이썬은 강력하고 유연하며 다루기 쉬운 언어로 유명하다. 이런 장점 때문에 방대하고 다양한 애플리케이션과 워크플로우, 분야에 사용된다. 그러나 인터프리티드 언어인 데다 런타임의 동적 특성 때문에 파이썬은 C, C++와 같은 머신 네이티브 언어에 비해 속도가 훨씬 더 느리다는 고질적인 단점이 있다. 개발자들은 오랜 시간 동안 파이썬의 속도 제한을 극복하기 위한 다양한 방법을 고민해왔다. 예를 들어 성능 집약적인 작업을 C로 작성하고 이 C 코드를 파이썬으로 래핑하는 방법 같은 것이다. 많은 머신러닝 라이브러리가 실제로 이 방식으로 동작한다. 또는 파이썬 코드에 런타임 형식 정보를 섞어 C로 컴파일할 수 있게 해주는 프로젝트인 사이썬(Cython)을 사용하는 방법도 있다.
|
그러나 차선책은 이상적인 방법일 수는 없다. 그냥 파이썬 프로그램을 그대로 가져와 훨씬 더 빠르게 실행할 수 있다면 좋지 않을까? 그 대답이 바로 파이파이(PyPy)다.
파이파이 vs. C파이썬
파이파이는 기본 파이썬 인터프리터인 C파이썬(CPython)을 대체한다. C파이썬은 파이썬을 중간 바이트코드로 컴파일하고 이 바이트코드가 가상머신에 의해 인터프리트되는 방식인 데 반해, 파이파이는 JIT(Just-In-Time) 컴파일을 사용해 파이썬 코드를 머신 네이티브 어셈블리어로 변환한다.
수행하는 작업에 따라 상당한 정도의 성능 향상이 가능하다. 평균적으로 파이파이는 파이썬 3.7에 비해 파이썬 속도를 약 4.7배 더 높여주며 일부 작업에서는 50배 이상의 속도 향상이 가능하다. 새로운 버전의 C파이썬 인터프리터에도 특정 종류의 JIT 최적화가 추가되고 있지만 현재 파이파이의 범위와 효과에 비할 바는 아니다. 앞으로 대등해질 가능성을 배제할 수 없지만 적어도 지금은 아니다.
가장 좋은 점은 파이파이가 제공하는 효과를 얻기 위해 개발자가 따로 해야 할 일이 거의 없다는 것이다. C파이썬을 파이파이로 바꾸기만 하면 된다. (다음에서 설명할) 몇 가지 예외는 있지만 파이파이의 공식적인 목표는 기존의 파이썬 코드를 수정 없이 실행하면서 자동으로 속도를 높여주는 것이다.
현재 파이파이는 파이썬 2와 파이썬 3을 각기 다른 프로젝트 구현으로 모두 지원한다. 즉, 실행할 파이썬의 버전에 따라 다른 버전의 파이파이를 다운로드해야 한다. 파이파이의 파이썬 2 브랜치가 나온 시점이 훨씬 더 오래됐지만 파이썬 3 버전도 최근 거의 따라잡았다. 현재 파이썬 버전 3.9까지 지원하며 파이썬 3.10은 실험 수준에서 지원된다. 파이파이는 모든 핵심 파이썬 언어를 지원하는 것 외에, 패키징을 위한 pip, 가상 환경을 위한 virtualenv 등 파이썬 생태계의 방대한 툴과도 호환된다. C 모듈을 사용하는 패키지를 포함해 대부분의 파이썬 패키지는 변경 없이 그대로 동작한다. 물론 일부 제한도 있다. 이는 아래에서 살펴본다.
|
웹디자이너 되는 방법 (하는 일, 전망, 연봉) |
웹디자이너가 하는 일은 무엇일까?
웹디자이너는 웹사이트를 제작하고 관리하는 일을 합니다. 웹사이트를 개발하고 매력적으로 디자인을 더해 웹사이트의 반응 속도와 직관적인 사용자 인터페이스를 지속적으로 테스트해야 합니다.
즉, 웹디자이너라고 해서 하루 종일 디자인 작업만 하는 것은 아닙니다. 만약 프리랜서로 일한다면 다음과 같은 업무 일과를 예상해 볼 수 있습니다.
- 오전 일과: 새 클라이언트와의 계약 작성 및 의뢰받은 업무 시작.
- 정오 일과: 클라이언트를 위한 사이트맵 및 와이어프레임 개발.
- 오후 일과: 클라이언트의 웹사이트에서 교차 플랫폼 테스트 실행.
웹디자이너가 되는 방법 9단계
|
왜 이렇게 MZ를 좋아하세요? 언론, 기업, 정치권에 물어봄
|
알씨타운 뉴스레터 어떠셨나요?
다음엔 더 알찬내용 전하도록 저, Mr.R이 노력하겠습니다.
지난 주말에 잘 보내주셨나요?
오늘 오후부터 태풍 카눈 우리나라로 오고 있으니 태풍 피해없도록 하시고 실내에서는 문과 창문을 닫고, 외출을 자제하며 기상 상황을 수시로 확인하시면 좋을것같습니다.
2주뒤에 소식 알리겠습니다!! 감사합니다.
|
(주)소프트랩스
partner@rctown.co.kr
서울특별시 금천구 디지털로121 1610호
T | 02-6494-2848 F | 02-6494-2847
본 메일은 (주)소프트랩스에서 제공하는 정보발송 메일로서,
문의, 입사 지원, 행사 참여 등을 통해 등록된 고객님께 발송되는 메일입니다.
|
|