Offcanvas

������������

“2~5배 더 빠르게”··· 귀도 반 로섬, 파이썬 속도 개선한다

파이썬(Python) 창시자 귀도 반 로섬이 파이콘 2021(Pycon 2021)에서 진행된 파이썬 랭귀지 서밋(Python Language Summit)에서 파이썬 속도를 2배에서 5배까지 더 빠르게 만들기 위한 단기 및 장기 계획을 발표했다.    파이썬에는 이미 파이파이(PyPy)와 같은 대체 런타임부터 C/C++로 작성된 랩핑 모듈까지 더 빠르게 실행할 수 있는 여러 방법이 있다. 하지만 C로 작성된 파이썬 참조 구현체이자 가장 널리 사용되는 언어 버전인 C파이썬(CPython) 자체의 속도를 높이는 방법은 거의 없다는 게 반 로섬의 설명이다.  그에 따르면 단기적으로는 현재 알파 단계 프로젝트로 개발 중인 파이썬 버전 3.11에서 최소한 1가지 이상의 주요 성능 개선 기능을 추가할 예정이다. 파이썬 3.11은 오는 2022년 출시될 계획이다.  또한 반 로섬은 파이썬 속도를 높이려는 현재 계획이 몇 가지 제약 조건 하에서 진행되고 있다고 설명했다. 이를테면 C파이썬의 어떤 변경사항도 런타임의 ABI(Application Binary Interface)를 손상시켜서는 안 된다. 그래야 C로 작성된 파이썬 확장 프로그램이 있는 그대로 계속 작동한다. 유지보수 용이성 및 간단하고 이해하기 쉬운 코드베이스를 유지하려는 C파이썬의 목표에 따라 변경사항은 점진적으로 이뤄져야 하고 관리할 수 있어야 한다. 그리고 모든 수정은 오픈소스여야 한다고 그는 전했다.  이러한 제약 조건 속에서 반 로섬과 그의 동료들은 자유롭게 변경할 수 있는 몇 가지 부분도 식별했다고 밝혔다. 예를 들면 파이썬의 바이트코드 시스템, 컴파일러, 인터프리터 등은 버전 간에 변경될 수 있기 때문에 모두 변경 대상으로 지정됐다. 특히 바이트코드는 주요 버전 간의 호환성을 보장하지 않으므로 필요한 경우 크게 변경할 수 있다고 반 로섬은 덧붙였다.  파이썬 3.11을 타깃으로 하는 첫 번째 제안에는 PEP 659에 설명된 ‘적응형 특정...

귀도 반 로섬 파이썬 프로그래밍 언어 개발 언어 C파이썬 파이파이 오픈소스

2021.05.14

파이썬(Python) 창시자 귀도 반 로섬이 파이콘 2021(Pycon 2021)에서 진행된 파이썬 랭귀지 서밋(Python Language Summit)에서 파이썬 속도를 2배에서 5배까지 더 빠르게 만들기 위한 단기 및 장기 계획을 발표했다.    파이썬에는 이미 파이파이(PyPy)와 같은 대체 런타임부터 C/C++로 작성된 랩핑 모듈까지 더 빠르게 실행할 수 있는 여러 방법이 있다. 하지만 C로 작성된 파이썬 참조 구현체이자 가장 널리 사용되는 언어 버전인 C파이썬(CPython) 자체의 속도를 높이는 방법은 거의 없다는 게 반 로섬의 설명이다.  그에 따르면 단기적으로는 현재 알파 단계 프로젝트로 개발 중인 파이썬 버전 3.11에서 최소한 1가지 이상의 주요 성능 개선 기능을 추가할 예정이다. 파이썬 3.11은 오는 2022년 출시될 계획이다.  또한 반 로섬은 파이썬 속도를 높이려는 현재 계획이 몇 가지 제약 조건 하에서 진행되고 있다고 설명했다. 이를테면 C파이썬의 어떤 변경사항도 런타임의 ABI(Application Binary Interface)를 손상시켜서는 안 된다. 그래야 C로 작성된 파이썬 확장 프로그램이 있는 그대로 계속 작동한다. 유지보수 용이성 및 간단하고 이해하기 쉬운 코드베이스를 유지하려는 C파이썬의 목표에 따라 변경사항은 점진적으로 이뤄져야 하고 관리할 수 있어야 한다. 그리고 모든 수정은 오픈소스여야 한다고 그는 전했다.  이러한 제약 조건 속에서 반 로섬과 그의 동료들은 자유롭게 변경할 수 있는 몇 가지 부분도 식별했다고 밝혔다. 예를 들면 파이썬의 바이트코드 시스템, 컴파일러, 인터프리터 등은 버전 간에 변경될 수 있기 때문에 모두 변경 대상으로 지정됐다. 특히 바이트코드는 주요 버전 간의 호환성을 보장하지 않으므로 필요한 경우 크게 변경할 수 있다고 반 로섬은 덧붙였다.  파이썬 3.11을 타깃으로 하는 첫 번째 제안에는 PEP 659에 설명된 ‘적응형 특정...

2021.05.14

피스톤 2.2 출시··· “기본 파이썬보다 30% 더 빠르게 실행”

피스톤(Pyston) 버전 2.2가 지난 5월 5일(현지 시각) 릴리즈됐다. 피스톤은 JIT 컴파일 등을 사용해 실행 속도를 높이는 파이썬 런타임 대체 구현이다.  이번 릴리즈에서 주목해야 할 새로운 특징이 있다. 바로 파이썬의 오리지널 라이선스 하에서 전체 소스 코드를 오픈소스 프로젝트로 사용할 수 있게 됐다는 점이다.    개발팀에 따르면 피스톤 프로젝트의 목표는 2가지다. 첫째, 추가 작업 없이 기존 파이썬 배포 속도를 높일 수 있는 표준 파이썬 런타임 대체 구현(drop-in replacement)을 제공하는 것. 둘째, 피스톤에서의 개선사항이 파이썬 자체로 업스트림 될 수 있도록 하는 것이다.  피스톤 2.2는 파이썬 3.8 버전을 기반으로 한다. 개발팀은 자체 웹 서버 벤치마크에서 피스톤 2.2가 기본 파이썬보다 약 30% 더 빠르게 실행됐다고 밝혔다. 경우에 따라 약 50% 더 빠르게 실행되기도 했다고 개발팀은 덧붙였다.  한편 피스톤은 LLVM JIT 프레임워크를 사용해 파이썬 애플리케이션 속도를 높이고자 하는 야심 찬 프로젝트로 드롭박스(Dropbox)에서 시작됐지만, 지난 2017년 드롭박스의 지원 철회로 개발이 중단됐었다.  --> “파이썬 속도 향상”··· 피스톤(Pyston), 개발 재개 기존 개발자 일부를 포함해 새롭게 구성된 피스톤 개발팀에서 제공하는 최신 버전의 피스톤은 다른 접근방식을 사용한다. 기본 C파이썬 코드로 시작하며, 이전 버전과의 호환성을 깨지 않고 성능을 향상시키는 데 도움을 주는 C파이썬을 변경한다.  이러한 맥락에서 피스톤은 파이썬 런타임을 대체하는 또 다른 구현체인 파이파이(PyPy)와 다르다. 파이파이는 JIT 컴파일을 사용해 상당한 수준의 성능 개선을 지원한다. 하지만 파이파이는 파이썬, 특히 C로 작성된 파이썬 확장 프로그램과 완전한 호환성을 유지하는 데 오랫동안 어려움을 겪고 있다. 피스톤은 C파이썬 코드베이스에서 ...

피스톤 파이썬 C파이썬 프로그래밍 언어 개발 언어 소프트웨어 개발 오픈소스 파이파이 JIT 컴파일

2021.05.07

피스톤(Pyston) 버전 2.2가 지난 5월 5일(현지 시각) 릴리즈됐다. 피스톤은 JIT 컴파일 등을 사용해 실행 속도를 높이는 파이썬 런타임 대체 구현이다.  이번 릴리즈에서 주목해야 할 새로운 특징이 있다. 바로 파이썬의 오리지널 라이선스 하에서 전체 소스 코드를 오픈소스 프로젝트로 사용할 수 있게 됐다는 점이다.    개발팀에 따르면 피스톤 프로젝트의 목표는 2가지다. 첫째, 추가 작업 없이 기존 파이썬 배포 속도를 높일 수 있는 표준 파이썬 런타임 대체 구현(drop-in replacement)을 제공하는 것. 둘째, 피스톤에서의 개선사항이 파이썬 자체로 업스트림 될 수 있도록 하는 것이다.  피스톤 2.2는 파이썬 3.8 버전을 기반으로 한다. 개발팀은 자체 웹 서버 벤치마크에서 피스톤 2.2가 기본 파이썬보다 약 30% 더 빠르게 실행됐다고 밝혔다. 경우에 따라 약 50% 더 빠르게 실행되기도 했다고 개발팀은 덧붙였다.  한편 피스톤은 LLVM JIT 프레임워크를 사용해 파이썬 애플리케이션 속도를 높이고자 하는 야심 찬 프로젝트로 드롭박스(Dropbox)에서 시작됐지만, 지난 2017년 드롭박스의 지원 철회로 개발이 중단됐었다.  --> “파이썬 속도 향상”··· 피스톤(Pyston), 개발 재개 기존 개발자 일부를 포함해 새롭게 구성된 피스톤 개발팀에서 제공하는 최신 버전의 피스톤은 다른 접근방식을 사용한다. 기본 C파이썬 코드로 시작하며, 이전 버전과의 호환성을 깨지 않고 성능을 향상시키는 데 도움을 주는 C파이썬을 변경한다.  이러한 맥락에서 피스톤은 파이썬 런타임을 대체하는 또 다른 구현체인 파이파이(PyPy)와 다르다. 파이파이는 JIT 컴파일을 사용해 상당한 수준의 성능 개선을 지원한다. 하지만 파이파이는 파이썬, 특히 C로 작성된 파이썬 확장 프로그램과 완전한 호환성을 유지하는 데 오랫동안 어려움을 겪고 있다. 피스톤은 C파이썬 코드베이스에서 ...

2021.05.07

파이썬 성능 개선을 위한 6가지 프로젝트

파이썬(Python)은 세련되고 편리하지만 파이썬을 사용하는 누구나 알고 있듯이 CPU 집약적인 작업에서 C, 자바 또는 자바스크립트보다 속도가 훨씬 더 느리다. 그러나 느린 속도를 이유로 파이썬을 외면하기에는 다른 많은 장점이 아깝다. 그래서 이 언어의 성능을 근본적으로 높이기 위한 여러 프로젝트가 등장했다.   동일한 하드웨어에서 파이썬의 속도를 더 높이는 방법은 크게 2가지인데, 각각 장단점이 있다.    파이썬에 사용되는 기본 런타임(C파이썬 구현)의 대안을 만드는 방법이다. 큰 작업이지만 결과적으로 C파이썬을 대체할 수 있다. 기존 파이썬 코드를 다시 써서 특정 속도 최적화 기능을 활용할 수 있다. 즉, 프로그래머 측에서 더 많은 작업이 필요하지만 런타임을 변경할 필요는 없다. 지금부터 파이썬 성능을 높이는 6가지 방법을 알아보자. 각 방법은 앞의 2가지 접근 방법 가운데 하나 또는 두 가지의 조합을 사용한다. 파이파이(PyPy) C파이썬의 대안 중에서는 파이파이가 단연 가장 눈에 띈다(예를 들어 쿠오라(Quora)는 프로덕션에서 파이파이를 사용함). 파이파이는 기존 파이썬 코드와의 호환성도 뛰어나므로 기본 런타임이 될 가능성도 가장 높다. 파이파이는 언어의 속도를 높이기 위해 구글 크롬의 V8 자바스크립트 엔진과 마찬가지로 JIT(Just-In-Time) 컴파일을 사용한다. 과거에는 파이썬 3보다 파이썬 2에 더 친화적이었지만 최신 버전의 파이파이는 파이썬 2.7 외에 파이썬 3.6과 3.7도 지원한다. 파이파이는 넘파이(NumPy)와 같이 파이썬 성능을 높이는 데 사용되는 일반적인 라이브러리와의 통합이 오랫동안 원활하지 않았다. 그러나 최근 릴리스에서는 이 문제가 많이 해결됐다. 파이파이의 또 다른 제약은 제대로 된 성능 향상을 얻기 위해서는 어느 정도 워밍업 시간이 필요하므로 서버와 같은 장기 실행 프로그램에는 적합하지만 단발성 스크립트에서는 효과가 떨어진다는 점이다. 또한 실행 파일의 크기가 C파이...

파이썬 파이파이 PyPy 피스톤 Pyston 누이트카 Nuitka 사이썬 Cython 넘바 Numba typed_python

2021.03.05

파이썬(Python)은 세련되고 편리하지만 파이썬을 사용하는 누구나 알고 있듯이 CPU 집약적인 작업에서 C, 자바 또는 자바스크립트보다 속도가 훨씬 더 느리다. 그러나 느린 속도를 이유로 파이썬을 외면하기에는 다른 많은 장점이 아깝다. 그래서 이 언어의 성능을 근본적으로 높이기 위한 여러 프로젝트가 등장했다.   동일한 하드웨어에서 파이썬의 속도를 더 높이는 방법은 크게 2가지인데, 각각 장단점이 있다.    파이썬에 사용되는 기본 런타임(C파이썬 구현)의 대안을 만드는 방법이다. 큰 작업이지만 결과적으로 C파이썬을 대체할 수 있다. 기존 파이썬 코드를 다시 써서 특정 속도 최적화 기능을 활용할 수 있다. 즉, 프로그래머 측에서 더 많은 작업이 필요하지만 런타임을 변경할 필요는 없다. 지금부터 파이썬 성능을 높이는 6가지 방법을 알아보자. 각 방법은 앞의 2가지 접근 방법 가운데 하나 또는 두 가지의 조합을 사용한다. 파이파이(PyPy) C파이썬의 대안 중에서는 파이파이가 단연 가장 눈에 띈다(예를 들어 쿠오라(Quora)는 프로덕션에서 파이파이를 사용함). 파이파이는 기존 파이썬 코드와의 호환성도 뛰어나므로 기본 런타임이 될 가능성도 가장 높다. 파이파이는 언어의 속도를 높이기 위해 구글 크롬의 V8 자바스크립트 엔진과 마찬가지로 JIT(Just-In-Time) 컴파일을 사용한다. 과거에는 파이썬 3보다 파이썬 2에 더 친화적이었지만 최신 버전의 파이파이는 파이썬 2.7 외에 파이썬 3.6과 3.7도 지원한다. 파이파이는 넘파이(NumPy)와 같이 파이썬 성능을 높이는 데 사용되는 일반적인 라이브러리와의 통합이 오랫동안 원활하지 않았다. 그러나 최근 릴리스에서는 이 문제가 많이 해결됐다. 파이파이의 또 다른 제약은 제대로 된 성능 향상을 얻기 위해서는 어느 정도 워밍업 시간이 필요하므로 서버와 같은 장기 실행 프로그램에는 적합하지만 단발성 스크립트에서는 효과가 떨어진다는 점이다. 또한 실행 파일의 크기가 C파이...

2021.03.05

회사명:한국IDG 제호: ITWorld 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 편집인 : 박재곤 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.

10.4.0.31