Những cải tiến quan trọng của PyPy 4.0

Ngoc Huynh

PyPy – trình biên dịch của Python, với những cải tiến đáng kể về tốc độ so với trình thông dịch CPython, đã tung ra phiên bản quan trọng 4.0.

Tính năng mới quan trọng của PyPy 4 là vectorizing optimizer (bộ tối ưu hóa vec tơ). Sự bổ sung này cho phép tăng tốc độ các hoạt động thông qua các bộ SIMD instruction hiện có trong các bộ xử lý hiện đại.

Do vectorization là một kế hoạch đang trong quá trình phát triển dành cho PyPy, nên sự khả dụng của nó trong phiên bản 4.0 chỉ là một hình thức sơ bộ và đã được tắt mặc định; người dùng phải kích hoạt lại bằng tay thông qua cờ hiệu dòng lệnh (command-line flag). Ngoài ra, quy mô của các cải tiến hiện tại đã bị giới hạn với các hàm toán học chẳng hạn như: các thao tác ma trận và vector, hoặc các hoạt động được thực hiện thông qua thư viên NumPy.

Theo các nhà phát triển của PyPy, tốc độ đã đạt được từ vectorization là một điều rất ấn tượng – gấp 2-4 lần so với những gì mà CPython (dành cho Python 2.7.10) đã mang tới. Nhiều cải tiến khác đang được cân nhắc cho các phiên bản trong tương lai chẳng hạn như: những thay đổi đối với lưu lượng bộ nhớ trên CPU hoặc những cách thức mới để kích hoạt vectorization tổng thể khắp trình biên dịch

Các cập nhật khác dành cho PyPy bao gồm sự hỗ trợ NumPy tốt hơn và các tính năng mới danh cho Python C Foreign Function Interface (CFFI). Tính năng mới cho phép Python gọi C code: bằng hình thức của các mô đun tiền biên dịch truy cập hoặc C code được liệt kê nối tiếp với Python code.

Tuy nhiên đến thời điểm hiện tại Pypy vẫn chưa thể hỗ trợ Python 3 (hay còn gọi là dự án py3k). Các nhà phát triển của PyPy đã và đang vận động kinh phí cho dự án. Một dự án trình biên dịch quan trọng khác có tên gọi Nuitka cũng sẽ sớm được ra mắt. Nuitka sẽ biên dịch Python 2.x và 3.x sang các nhị phân (binary), gần đây đã được bổ sung sự hỗ trợ dành cho SSA (static single assignment).

Chia sẻ bài viết ngay

Nguồn bài viết : http://www.infoworld.com/