>  기사  >  기술 주변기기  >  별 2,000개를 획득하면 속도가 100배 증가하고 고성능 Python 컴파일러인 Codon은 오픈 소스입니다.

별 2,000개를 획득하면 속도가 100배 증가하고 고성능 Python 컴파일러인 Codon은 오픈 소스입니다.

王林
王林앞으로
2023-04-08 12:31:111332검색

우리 모두 알고 있듯이 Python은 배우기 쉽고 강력한 기능을 갖춘 프로그래밍 언어로, 다양한 사용자 사용 통계 목록에서 항상 상위권을 차지합니다. 따라서 연구자들은 이 언어를 더 잘 제공하기 위해 Python을 중심으로 다양하고 편리한 도구를 개발했습니다.

컴파일러는 고급 언어와 기계 간의 번역기 역할을 합니다. 다양한 버전의 Python 컴파일러가 개발되었습니다. 아래에서는 새로운 고성능 Python 컴파일러인 Codon을 소개합니다. 이 프로젝트는 온라인에 공개된 지 며칠 만에 이미 2,200개의 별을 받았습니다.

별 2,000개를 획득하면 속도가 100배 증가하고 고성능 Python 컴파일러인 Codon은 오픈 소스입니다.


프로젝트 주소: https://github.com/exaloop/codon

Codon은 고성능 Python 컴파일러로서 Python 코드를 네이티브 기계 코드로 컴파일할 수 있으며, 런타임 오버헤드가 필요합니다. Python의 일반적인 속도 향상은 단일 스레드에서 약 10~100배 이상입니다. Codon의 성능은 일반적으로 C/C++의 성능과 비슷합니다. Python과 달리 Codon은 기본 멀티스레딩을 지원하므로 몇 배 더 빨라질 수 있습니다. Codon은 플러그인 인프라를 통해 확장 가능하며 이를 통해 사용자는 새로운 라이브러리, 컴파일러 최적화 및 키워드까지 통합할 수 있습니다.

Codon 프레임워크는 완전히 모듈식이며 확장 가능하므로 새로운 모듈, 컴파일러 최적화, 도메인별 언어 등을 원활하게 통합할 수 있으며, 생물정보학 및 양적 금융과 같은 여러 분야를 위해 적극적으로 개발되고 있는 새로운 Codon 확장이 가능합니다.

별 2,000개를 획득하면 속도가 100배 증가하고 고성능 Python 컴파일러인 Codon은 오픈 소스입니다.Codon Pipeline

출시 이후 많은 사랑을 받고 있는 이 컴파일러의 효과는 무엇인가요? 몇 가지 벤치마크 결과를 살펴보겠습니다.

Benchmarks

다음은 다양한 작업과 애플리케이션에서 Python, PyPy, C++ 및 Codon의 성능을 비교한 Codon 벤치마크 제품군의 결과입니다.

벤치마크는 다음 설정에서 실행됩니다.

별 2,000개를 획득하면 속도가 100배 증가하고 고성능 Python 컴파일러인 Codon은 오픈 소스입니다.

별 2,000개를 획득하면 속도가 100배 증가하고 고성능 Python 컴파일러인 Codon은 오픈 소스입니다.

Python, PyPy, Codon 비교

별 2,000개를 획득하면 속도가 100배 증가하고 고성능 Python 컴파일러인 Codon은 오픈 소스입니다.

별 2,000개를 획득하면 속도가 100배 증가하고 고성능 Python 컴파일러인 Codon은 오픈 소스입니다.

별 2,000개를 획득하면 속도가 100배 증가하고 고성능 Python 컴파일러인 Codon은 오픈 소스입니다.

별 2,000개를 획득하면 속도가 100배 증가하고 고성능 Python 컴파일러인 Codon은 오픈 소스입니다.

별 2,000개를 획득하면 속도가 100배 증가하고 고성능 Python 컴파일러인 Codon은 오픈 소스입니다.

별 2,000개를 획득하면 속도가 100배 증가하고 고성능 Python 컴파일러인 Codon은 오픈 소스입니다.

별 2,000개를 획득하면 속도가 100배 증가하고 고성능 Python 컴파일러인 Codon은 오픈 소스입니다.

Python, PyPy, C++ 및 Codon 비교




별 2,000개를 획득하면 속도가 100배 증가하고 고성능 Python 컴파일러인 Codon은 오픈 소스입니다.

별 2,000개를 획득하면 속도가 100배 증가하고 고성능 Python 컴파일러인 Codon은 오픈 소스입니다.

별 2,000개를 획득하면 속도가 100배 증가하고 고성능 Python 컴파일러인 Codon은 오픈 소스입니다.

여러 언어의 구체적인 비교는 다음과 같습니다.

Codon은 CPython 구문, 의미 및 API를 최대한 따르지만 일부 특수한 경우에는 다음을 고려합니다. 성능상의 이유, Codon CPython과 몇 가지 차이점이 있습니다. 예를 들어 Codon은 64비트 int이고 CPython은 임의 너비 int입니다. 성능 측면에서 CPython 속도 향상은 일반적으로 10~100배 속도 향상입니다.

Codon은 Numba와 유사한 JIT 데코레이터를 제공하지만 일반적으로 Codon은 엔드투엔드 프로그램을 네이티브 코드로 컴파일할 수 있는 사전 컴파일러입니다. 또한 더 광범위한 Python 구성 및 라이브러리 세트의 컴파일을 지원합니다.

PyPy는 CPython의 간단한 대체를 목표로 하고 있지만 Codon은 몇 가지 부분에서 다릅니다. 이러한 차이점은 주로 동적 런타임이나 가상 머신을 제거하여 더 나은 성능을 제공합니다.

Codon은 일반적으로 동등한 C 또는 C++ 프로그램과 동일한 코드를 생성하며 때로는 C/C++ 컴파일러보다 더 나은 코드를 생성할 수 있습니다. 더 나은 컨테이너 구현, 객체 파일을 사용하지 않고 모든 라이브러리 코드를 인라인화하지 않는 Codon, C 또는 C++에서 수행되는 Codon별 컴파일러 최적화를 사용하지 않는 등 여러 가지 이유가 있습니다.

Codon의 컴파일 프로세스는 실제로 Julia보다 C++에 더 가깝습니다. Julia는 최적화로 유형 추론을 수행하는 동적 유형 지정 언어인 반면, Codon 유형은 프로그램 전체에서 미리 확인됩니다. Codon은 또한 Python의 구문과 의미를 채택하여 새로운 언어의 학습 곡선을 우회하려고 시도합니다.

FAQ

Codon은 Python의 거의 모든 구문을 지원하지만 단순한 대체가 아니며 대규모 코드 기반은 Codon 컴파일러로 실행하려면 수정이 필요할 수 있습니다. 예를 들어 일부 Python 모듈은 Codon에서 구현되지 않았으며 Python의 일부 동적 기능은 허용되지 않습니다. Codon 컴파일러는 비호환성 문제를 식별하고 해결하는 데 도움이 되는 자세한 오류 메시지를 생성합니다. Codon은 특정 Python 라이브러리 또는 역학이 필요한 상황을 처리하기 위해 원활한 Python 상호 운용성을 지원합니다.

코돈을 사용하고 싶은데 파이썬 코드베이스가 너무 커서 포팅하고 싶지 않은데 어떻게 해야 하나요?

주석이 달린 함수만 컴파일하고 Codon과의 데이터 변환을 자동으로 처리하는 @codon.jit 데코레이터를 통해 Codon을 사용할 수 있습니다. 또한 멀티스레딩과 같은 Codon 관련 모듈이나 확장을 사용할 수 있습니다.

다른 언어 및 프레임워크와 얼마나 상호 운용이 가능한가요?

코돈은 상호운용성을 최우선으로 생각합니다. 우리는 사용자가 존재하는 다른 훌륭한 프레임워크와 라이브러리를 사용하는 것을 막기 위해 Codon을 사용하고 싶지 않습니다. Codon은 Python 및 C/C++와의 완전한 상호 운용성을 지원합니다.

코돈은 가비지 컬렉션을 사용하나요?

예, Codon은 Boehm 가비지 수집기를 사용합니다.

Codon은 Python 모듈 X나 함수 Y를 지원하지 않나요?

Codon은 Python 표준 라이브러리의 상당한 하위 집합을 다루지만 아직 모든 모듈의 모든 기능을 다루지는 않습니다. 누락된 함수는 여전히 Python 가져오기에서 호출될 수 있습니다. Codon의 기본 구현이 부족한 많은 기능(예: I/O 또는 OS 관련 기능)은 일반적으로 Codon에서 상당한 속도 향상을 얻지 못합니다.

내 애플리케이션에서는 Codon이 Python보다 빠르지 않나요?

C로 구현된 라이브러리 코드에서 대부분의 시간을 보내는 앱은 일반적으로 Codon에서 상당한 성능 향상을 볼 수 없습니다. 마찬가지로 I/O 또는 네트워크 바인딩된 애플리케이션은 Codon에서 동일한 병목 현상을 경험하게 됩니다.

내 애플리케이션에서 Codon이 Python보다 느린가요?

이런 경우 Codon이 Python보다 훨씬 느리다고 이슈 트래커에 보고해 주세요.

코돈은 무료인가요?

Codon은 프로덕션 용도가 아닌 경우 항상 무료입니다. 사용자는 개인, 학술 또는 기타 비상업적 용도로 Codon을 자유롭게 사용할 수 있습니다.

코돈은 오픈소스인가요?

Codon은 BSL(비즈니스 소스 라이선스)에 따라 라이선스가 부여되며 소스 코드는 공개적으로 사용 가능하며 비생산 용도로 무료입니다. BSL은 기술적으로 "오픈 소스" 라이선스는 아니지만, 대부분의 경우 Codon을 다른 오픈 소스 프로젝트처럼 취급할 수 있습니다. 중요한 것은 BSL에 따르면 Codon의 모든 버전은 3년 후에 실제 오픈 소스 라이선스(특히 Apache)로 전환된다는 것입니다.

위 내용은 별 2,000개를 획득하면 속도가 100배 증가하고 고성능 Python 컴파일러인 Codon은 오픈 소스입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제