Python chính thức khai tử JIT thử nghiệm: PEP 836 bị rút lại sau nhiều tháng tranh luận
Nhóm duy trì JIT của CPython đã rút lại PEP 836 sau khi Hội đồng chỉ đạo Python yêu cầu một lộ trình rõ ràng hơn về bảo trì, tương thích và các tiêu chí thành công. Điều này đồng nghĩa trình biên dịch JIT thử nghiệm từng được kỳ vọng lớn sẽ sớm bị gỡ khỏi nhánh chính của CPython.
Trình biên dịch JIT (just-in-time) thử nghiệm của Python, vốn được bổ sung vào CPython từ năm 2024 trong bản phát hành 3.13, đang trên đường bị loại bỏ. Sau nhiều tháng thảo luận và một đề xuất cải tiến (PEP) không được chấp thuận, nhóm duy trì đã quyết định dừng theo đuổi dự án đầy hứa hẹn này.
Từ kỳ vọng lớn đến yêu cầu kiểm soát chặt chẽ
JIT được Brandt Bucher đưa vào CPython đầu năm 2024. Thông thường, một tính năng lớn như vậy chỉ được hợp nhất sau khi Hội đồng chỉ đạo (Steering Council) phê duyệt một PEP theo chuẩn chính thức. Tuy nhiên, Bucher chỉ soạn PEP 744 — một PEP mang tính thông tin, không thể hiện sự đồng thuận chính thức để tiến hành.
Đến tháng 6, Hội đồng chỉ đạo đã đưa ra yêu cầu chính thức: nhóm duy trì JIT phải xây dựng một PEP theo chuẩn, làm rõ các cam kết bảo trì, đảm bảo tương thích và đặt ra các tiêu chí thành công cùng mốc thời gian hoàn thành. Hội đồng đặt thời hạn 6 tháng; nếu không đáp ứng, mã JIT sẽ bị yêu cầu gỡ khỏi nhánh chính của CPython.
Lý do Hội đồng đưa ra yêu cầu này là lo ngại rằng công việc JIT có thể ảnh hưởng đến các dự án khác, đặc biệt trong bối cảnh có nhiều nỗ lực liên quan như CinderX, Numba, PyTorch compile, hay các cuộc thảo luận về JIT bậc 3.
"Không có sự kiện kích hoạt duy nhất nào cho yêu cầu này" — Thomas Wouters, thành viên Hội đồng chỉ đạo, cho biết.
PEP 836: Nỗ lực cuối cùng và những phản biện
Bucher, Savannah Ostrowski và Ken Jin đã soạn PEP 836 với tiêu đề "JIT Go Brrr: The Path to a Supported JIT Compiler for CPython" và công bố lấy ý kiến cộng đồng vào ngày 3/7. Đề xuất này nhận được nhiều phản hồi trái chiều.
Một số ý kiến, trong đó có Mark Shannon, cho rằng PEP nên được tách thành hai phần: một phần chỉ nêu mục tiêu chấp nhận công việc JIT, phần còn lại dành cho chi tiết triển khai. Ostrowski phản biện: "Nêu mục tiêu mà không thể chia sẻ kế hoạch và những gì chúng tôi đã suy nghĩ cùng với nó sẽ khiến tôi thấy không thoải mái. Với tôi, mục tiêu mà không có kế hoạch phía sau thì không thực sự là mục tiêu."
Ngày 21/9, Hội đồng chỉ đạo công bố tuyên bố cho rằng PEP 836 đã trả lời các câu hỏi được đặt ra, "dù có thể một số câu trả lời chưa thuyết phục bằng những câu khác". Tuy nhiên, Hội đồng đưa ra danh sách 10 điểm cần làm rõ hơn, từ tác động bộ nhớ đến bảo mật:
- Tính tương thích nền tảng: đảm bảo JIT dễ dàng áp dụng cho các nền tảng mới, không phụ thuộc kiến thức đặc thù nền tảng.
- Tác động đến người dùng: PEP được đánh giá là "quá lạc quan" về những khác biệt khi bật JIT, trong khi nhiều người dùng phụ thuộc vào các đặc điểm riêng của trình thông dịch.
- Bảo mật: được xem là "lĩnh vực chưa được quan tâm đúng mức", cần có đánh giá bảo mật như một phần tiêu chí hỗ trợ chính thức.
- Lộ trình kiểm tra tương thích: PEP đề xuất mốc kiểm tra vào khoảng tháng 8/2028, nhưng Hội đồng cho rằng "quá muộn" và yêu cầu quy trình liên tục ngay từ sớm.
Quyết định rút lui
Ngày 19/10, Ostrowski thông báo rút lại PEP 836:
"Hội đồng chỉ đạo đặt ra tiêu chuẩn cao một cách chính đáng cho một đề xuất có quy mô như vậy, và chúng tôi cảm thấy không đủ nguồn lực cá nhân để tiếp tục với phiên bản hiện tại. Chúng tôi vẫn tin vào hướng kỹ thuật được nêu trong PEP... Chúng tôi sẽ công khai bản triển khai tham chiếu và liên kết từ PEP đã rút để những ai quan tâm có thể khám phá và phát triển tiếp."
Brett Cannon cho biết công việc sẽ dừng lại trong kho lưu trữ chính, còn việc tiếp tục ở nơi khác sẽ phụ thuộc vào cộng đồng. Ông cũng đánh giá khả năng có một PEP thay thế trước thời hạn là không cao, "vì tất cả những người đang tích cực thúc đẩy JIT đều là tác giả hoặc người đóng góp cho PEP đó".
Ý nghĩa với cộng đồng Python, bao gồm cả lập trình viên Việt Nam
Với việc PEP bị rút, mã JIT nhiều khả năng sẽ sớm bị gỡ khỏi nhánh chính của CPython để các vấn đề phát sinh có thể được xử lý sớm trong chu kỳ phát triển Python 3.16.
Đối với lập trình viên Việt Nam — những người thường xuyên sử dụng Python cho phát triển web (Django, FastAPI), khoa học dữ liệu và học máy — tin này không ảnh hưởng trực tiếp đến các dự án hiện tại, vì JIT vốn chưa bao giờ được bật mặc định. Tuy nhiên, nó đặt dấu hỏi về triển vọng tăng tốc độ thực thi Python trong ngắn hạn. Các giải pháp thay thế như PyPy, Numba hay Cython vẫn là lựa chọn cho những ai cần tối ưu hiệu năng, dù PyPy cũng có những hạn chế riêng về khả năng tương thích.
Một điểm đáng ghi nhận là toàn bộ quá trình diễn ra văn minh, không có tranh cãi gay gắt — điều thể hiện văn hóa quản trị cởi mở của cộng đồng Python. Câu hỏi còn để ngỏ là liệu các tác giả có tiếp tục theo đuổi JIT bên ngoài CPython hay không, và liệu cộng đồng có đủ quan tâm để tiếp nhận di sản kỹ thuật này.
Bài viết liên quan

Công nghệ
Nộp đơn xin việc lẽ ra nên khó hơn. Thật đấy
25 tháng 8, 2026

Công nghệ
Mô hình AI hàng đầu giỏi Vật lý đến đâu? Nghiên cứu mới chỉ ra các bài kiểm tra hiện hành đang đánh giá sai
16 tháng 9, 2026

Công nghệ
Apple ra mắt MacBook Pro 14 inch với chip M6: Hiệu năng vượt trội, AI trên thiết bị và pin 24 giờ
27 tháng 10, 2026