
Python 3.13 ra mắt tháng 10/2024 với 2 tính năng “ngủ đông” đã đánh thức: JIT compiler (PEP 744) và free-threaded build (PEP 703, tức no-GIL). Cả hai đều ở chế độ experimental, nhưng đây là lần đầu tiên Python có cơ hội thoát khỏi rào cản hiệu năng lâu đời.
JIT compiler: copy-and-patch, lightweight
JIT của Python 3.13 không phải full-fledged tracing JIT như V8 hay HotSpot. Nó là copy-and-patch JIT (PEP 744): CPython chuyển bytecode thành machine code bằng cách patch các template ARM64/x86-64 đã được tối ưu sẵn. Độ phức tạp thấp, startup impact nhỏ, tích hợp sâu vào eval loop mà không thay đổi đáng kể kiến trúc hiện tại.

Khi nào nhanh? JIT phát huy tác dụng tốt nhất với các hot loop có kiểu dữ liệu ổn định (int, float, string). Các benchmark của Python core team cho thấy 5–10% tăng hiệu năng cho pure Python code, và tăng rõ rệt hơn cho các thư viện số học (NumPy, SciPy) nếu họ tích hợp specialized entry points.
Free-threaded build: chạy Python thật sự đa luồng
CPython từ xưa luôn có Global Interpreter Lock (GIL) — khóa toàn cục cho phép chỉ 1 thread thực thi Python bytecode tại một thời điểm. Hậu quả: Python đa luồng (multithreading) không tăng hiệu năng tính toán (CPU-bound), chỉ giúp I/O-bound.
PEP 703 (tháng 2023) đề xuất thêm build option --disable-gil, bật no-GIL mode. Python 3.13 cung cấp binary installer với --disable-gil flag (Windows/macOS/Linux). Thread thực sự chạy song song, không cần tranh chấp GIL.
Tuy nhiên: no-GIL mode hiện tại không tương thích với nhiều extension C (NumPy, Pandas, PyTorch vẫn đang port).

Nếu bạn chạy no-GIL hôm nay, nhiều thư viện sẽ treo hoặc crash. Python core team dự kiến đạt stability cho no-GIL sau 2–3 release nữa (2026+).
Cách dùng Python 3.13
- Cài đặt: Dùng
pyenv install 3.13.0hoặc download installer từ python.org. - JIT: Đã bật mặc định trong CPython 3.13 (no action cần thiết). Kiểm tra bằng
python -c "import sys; print(sys._jit_enabled)"— trả vềTruenếu JIT active. - No-GIL: Cần build từ source:
./configure --disable-gil
make -j$(nproc)
sudo make altinstall
Lưu ý: nếu dùng third-party wheels, chúng sẽ không tương thích no-GIL build.
Tính năng nhỏ khác
locals()không còn trả về snapshot deep-freeze — mutation không còn lỗi lầm bất ngờ.- Cải tiến type parameter: generic classes trong
collections.abc,typingmodule chuẩn hóa thêm. - Module
cgichính thức deprecated, sẽ xóa trong 3.15. Chuyển sangurllib.parsehoặc framework (FastAPI/Starlette). - C-API thêm
Py_GIL_DISABLEDmacro cho extension authors.
Khi nào chuyển sang 3.13?
Với JIT: có thể cập nhật ngay nếu bạn không phụ thuộc extension C custom. JIT không phá vỡ ABI, các wheel PyPI vẫn hoạt động.
Với no-GIL: đợi 2–3 phiên bản nữa (Python 3.16/3.17), cho đến khi ecosystem port xong. Hiện no-GIL phù hợp thử nghiệm hoặc ứng dụng nội bộ đa luồng 100% pure Python.
Kết luận: Python 3.13 không phải “release lớn nhất từ trước đến nay” — nhưng nó là bước đệm quan trọng hướng tới Python thật sự nhanh và concurrent. JIT nhẹ + no-GIL experimental = hy vọng mới cho AI/ML workload hiện đang bị trói bởi GIL.
Nguồn tham khảo: Python 3.13 What’s New, PEP 744 — JIT, PEP 703 — No-GIL, Real Python 3.13 Guide.
