Offcanvas

개발자

"기존 타입 체커보다 5배 빨라"··· MS, 파이썬용 '파이라이트' 공개

2019.03.26 Serdar Yegulalp  |  InfoWorld
마이크로소프트가 파이썬용 오픈소스 스테틱 타입 체크 시스템 '파이라이트(Pyright)'를 공개했다. 마이파이(Mypy) 같은 기존 파이썬용 타입 체크 제품보다 속도를 크게 개선했다. 



파이라이트는 타입스크립트(TypeScript)로 개발됐고 노드js(Node.js)를 기반으로 실행된다. 기존 파이썬 런타임도 필요 없다. 주로 비주얼 스튜디오 코드(Visual Studio Code) 플러그인으로 사용할 수 있도록 설계됐지만, 명령줄 툴로 단독으로 쓸 수도 있다.

마이크로소프트는 파이라이트 프로젝트 소개문을 통해, 파이라이트가 마이파이, 파이타입(Pytype), 파이리(Pyre) 등 파이썬으로 개발된 다른 파이썬 타입 체커보다 5배 빠르다고 설명했다. 기존 툴은 파이썬으로 개발해 편리하지만 속도 측면에서는 파이썬 자체 수준을 넘지 못했다. 잘 알려진 것처럼 파이썬의 자체 런타임은 속도가 그리 빠르지 않다. 기존 툴이 느린 이유는 이를 실행하는 시스템과 분석하는 코드 베이스에 종속되기 때문이다.

파이라이트는 현재 파이썬에서 사용할 수 있는 모든 주요 타입 힌트와 타임 관련 문법을 지원한다. 타입 힌트다양한 주석 문법, 구조적 서브타이핑 등이다. 또한, 파이라이트는 다양한 환경에서 타임 추론도 지원한다. 파이라이트 프로젝트는 파이썬의 자체 타입 스텁 정보를 기반으로 분석을 실행하므로, 파이썬으로 개발하지 않았음에도 불구하고 파이썬 자체와 동기화를 유지할 수 있다.

파이라이트를 비주얼 스튜디오 코드 플러그인으로 실행하면 코드에 대한 실시간 피드백을 제공한다. 툴팁에 타입 정보와 기호 정의 링크 등을 보여준다. 파이라이트가 제공하는 이런 기능 중 일부는 마이크로소프트의 파이썬 랭귀지 서버(Python Language Server)가 제공하는 것과 겹치지만, 파이라이트는 주로 타입 체크에 집중할 뿐 다른 코드 린트 기능은 상대적으로 약하다.

파이라이트 프로젝트는 여전히 개발이 진행중이다. 제너레이터용 타입 추론, async/await 선언 검증 등 많은 기능이 개발 예정 목록에 올라와 있다. 명시적으로 지원 계획이 없는 것은 파이썬 2다. 마이크로소프트는 이를 지원하지 않을 예정이다. 반면 마이파이를 비롯한 다른 파이썬용 코드 린팅/타입 체크 툴은 파이썬 2를 지원한다.

파이썬용 타입 체크 시스템은 파이썬 애플리케이션의 속도 향상보다는 프로그램의 런타임 정확성을 보장하기 위해 주로 사용된다. 그러나 일부 프로젝트는 성능을 개선하기 위해 타입 주석 파이썬을 컴파일하려 시도하고 있다. 예를 들어 마이파이씨(Mypyc)는 타입 주석 파이썬을 C로 컴파일한다. 머지않아 파이라이트가 비슷한 프로젝트의 기반 기술로 사용될 가능성도 있다. ciokr@idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

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

Copyright © 2024 International Data Group. All rights reserved.