- Python Global Interpreter Lock (GIL) từ lâu là rào cản chính cản trở việc cải thiện hiệu năng của các chương trình dùng nhiều luồng.
- Vào tháng 10 năm 2021, Sam Gross đã giới thiệu một phiên bản chứng minh khái niệm của Python không có GIL, nhưng dù ban đầu nhận được phản ứng rất hào hứng, hơn một năm sau vẫn không có nhiều tiến triển đáng kể.
- Python Steering Council hiện đã tuyên bố sẵn sàng tích hợp tính năng no-GIL.
- Dự án Faster CPython, bắt đầu từ giữa năm 2021, tập trung vào việc cải thiện hiệu năng đơn luồng của trình thông dịch Python.
- Tại PyCon năm nay, hai thành viên của nhóm Faster CPython đã trình bày các chiến lược họ sử dụng để cải thiện hiệu năng trình thông dịch.
- Tháng 1 năm 2023, lập trình viên nòng cốt Łukasz Langa đã đăng phiên bản đầu tiên của PEP 703 do Gross viết ("Tùy chọn sử dụng Global Interpreter Lock trong CPython").
- Cộng đồng Python đang cố tránh một quá trình chuyển đổi hỗn loạn như từ Python 2 sang Python 3. Mọi thay đổi để loại bỏ GIL phải tương thích với các đoạn mã chưa được chuẩn bị cho việc này.
- Ngày 14 tháng 6, nhóm Faster CPython gia tăng áp lực để thúc đẩy quyết định về tính năng no-GIL.
- Ngày 28 tháng 7, thành viên hội đồng Thomas Wouters thông báo rằng hội đồng đã chấp nhận PEP 703, dù các chi tiết của việc chấp nhận vẫn đang được điều chỉnh.
- Kế hoạch là đưa vào một phiên bản trình thông dịch no-GIL để xác định toàn bộ các thành phần còn thiếu, giải quyết chúng, rồi sau đó để no-GIL trở thành mặc định và là phiên bản cuối cùng của Python.
- Quá trình chuyển sang phiên bản no-GIL được dự kiến sẽ mất khoảng 5 năm, kèm cam kết không lặp lại những sai lầm trong quá khứ.
- Bài viết này thảo luận cách dùng lập trình song song trong .NET để tăng tốc các vòng lặp for/foreach khi có dữ liệu "embarrassingly parallel".
- Bài viết cũng bàn về tính khả thi lâu dài của việc duy trì hiệu năng đơn luồng của Python; một số ý kiến cho rằng chi phí phụ trội và độ phức tạp gia tăng là không thể tránh khỏi và cuối cùng sẽ làm giảm hiệu năng.
- Bài viết nhìn lại quá trình chuyển đổi từ Python 2 sang Python 3, khi hai phiên bản này không tương thích với nhau.
- Tác giả cho rằng tác động của việc Python 3 không tương thích với Python 2 đã được một số người dự đoán trước, trái với quan niệm phổ biến, và chia sẻ liên kết đến một bài blog năm 2007.
- Tác giả nhấn mạnh tầm quan trọng của những bài học rút ra từ quá trình chuyển đổi từ Python 2 sang Python 3 để tránh các vấn đề tương tự trong tương lai.
- Bài viết kết luận bằng việc ghi nhận tầm nhìn xa của những người đã dự đoán trước các thách thức trong quá trình chuyển đổi từ Python 2 sang Python 3.
1 bình luận
Bình luận trên Hacker News