Phát hành Nuitka 1.1, trình biên dịch cho ngôn ngữ Python

Đã có bản phát hành dự án Nuitka 1.1, phát triển trình biên dịch để dịch các tập lệnh Python thành biểu diễn C, sau đó có thể được biên dịch thành tệp thực thi bằng libpython để tương thích tối đa với CPython (sử dụng các công cụ CPython gốc để thao tác đối tượng). Cung cấp khả năng tương thích hoàn toàn với các bản phát hành hiện tại của Python 2.6, 2.7, 3.3 - 3.10. So với CPython, các tập lệnh được biên dịch cho thấy hiệu suất được cải thiện 335% trong các thử nghiệm pystone. Mã dự án được phân phối theo giấy phép Apache.

Trong số những thay đổi trong phiên bản mới:

  • Khả năng chỉ định cấu hình ở định dạng Yaml đã được mở rộng.
  • Các tối ưu hóa đã được thực hiện liên quan đến việc loại trừ các thành phần không được sử dụng của thư viện tiêu chuẩn (zoneinfo, concurrent, asyncio, v.v.), giúp giảm kích thước của các tệp thực thi thu được.
  • Đã thêm hỗ trợ cho cú pháp thay thế ("|") trong các kết quả khớp mẫu dựa trên toán tử "khớp" được giới thiệu trong Python 3.10.
  • Đảm bảo khả năng tương thích với jinja2.PackageLoader.
  • Đã triển khai khả năng thay đổi kích thước của thuộc tính __defaults__.
  • Đã thêm hỗ trợ cho các hàm importlib.metadata.distribution, importlib_metadata.distribution, importlib.metadata.metadata và importlib_metadata.metadata.
  • Hỗ trợ bao gồm các tệp nhị phân bổ sung trong tệp thực thi chính đã được thêm vào chế độ biên dịch Onefile.
  • Các mô-đun được biên dịch triển khai khả năng sử dụng hàm importlib.resources.files.
  • Tùy chọn "--include-package-data" cho phép chỉ định mặt nạ tệp, ví dụ: "--include-package-data=package_name=*.txt".
  • Đối với macOS, hỗ trợ ký điện tử cho các tệp thực thi đã được triển khai.
  • Một phương thức được cung cấp cho các plugin để ghi đè các chức năng của tệp thực thi.
  • Khả năng của plugin chống phình to đã được mở rộng, giờ đây có thể được sử dụng để giảm số lượng gói khi sử dụng các thư viện phong phú, pyreg và pytorch. Khả năng sử dụng biểu thức chính quy trong quy tắc thay thế đã được triển khai.
  • Những thay đổi lũy thoái do những tối ưu hóa đáng kể được thực hiện trong bản phát hành trước đã được giải quyết.

Nguồn: opennet.ru

Thêm một lời nhận xét