Không có gì bí mật khi Python không phải là ngôn ngữ lập trình nhanh nhất hiện có. Chà, điều đó sắp thay đổi, hoặc ít nhất là đi đúng hướng. Bản phát hành Python mới nhất — Python 3. 11 — dự kiến phát sóng vào tháng 10 năm 2022. Điều tuyệt vời hơn nữa là có sẵn phiên bản ứng cử viên phát hành [RC] để chúng tôi khám phá
Đó chính xác là những gì chúng ta sẽ làm hôm nay. Chúng tôi sẽ cài đặt Python 3. 10 và 3. 11 trong các bộ chứa Docker riêng biệt và xem chúng so sánh như thế nào trong một bộ kiểm tra điểm chuẩn. Tôi dự định sử dụng gói pyperformance cho công việc này, vì gói này sẽ thực hiện tất cả các công việc nặng nhọc
TL; DR — Trung bình, Python 3. 11 nhanh hơn 14% so với Python 3. 10. Phiên bản mới chậm hơn một chút trên một số điểm chuẩn, nhưng trên các điểm chuẩn khác, nó nhanh hơn tới 64%. Tôi đã chạy điểm chuẩn trên M1 Pro MacBook Pro 16 với CPU 10 nhân. Mỗi phiên bản Python được cài đặt trong Docker, sử dụng 5 lõi CPU logic. Số dặm của bạn có thể thay đổi, nhưng bạn sẽ thấy kết quả tương tự, nói một cách tương đối
Không cảm thấy như đọc?
Cách cài đặt Python 3. 11 trong docker
Nếu bạn muốn làm theo, bạn sẽ cần cài đặt Docker. Đây là công cụ bắt buộc phải có trong bất kỳ vành đai công cụ khoa học dữ liệu nào, vì vậy đây không phải là vấn đề. Khi Docker đang chạy, hãy mở hai tab Terminal
Đầu tiên, chúng tôi sẽ tìm nạp và chạy Python 3. 10 trong nền
docker run -t -d python:3.10.4-bullseye
Và trong lần thứ hai, chúng tôi sẽ làm điều tương tự nhưng đối với Python 3. 11
docker run -t -d python:3.11-rc-bullseye
Docker sẽ mất một chút thời gian để tải xuống và khởi động cả hai hình ảnh, tùy thuộc vào cấu hình phần cứng và tốc độ Internet của bạn. Sau khi hoàn tất, bạn có thể mở hai cửa sổ Visual Studio Code và đính kèm chúng vào bộ chứa Docker [Sử dụng tiện ích mở rộng Docker VSCode, nhấp chuột phải vào hình ảnh và chọn “Đính kèm Mã Visual Studio”]. Ngoài ra, bạn cũng có thể chỉ gắn vỏ
Khi đã ở trong vùng chứa, hãy khởi chạy Terminal tích hợp VSCode mới và kiểm tra các phiên bản Python
Hình ảnh 1 — Python 3. 10 và 3. 11 container đính kèm trong Visual Studio Code [ảnh của tác giả]
Như bạn có thể thấy, tôi có Python 3. 10 ở bên trái và Python 3. 11 bên phải. Tiếp theo, chúng tôi sẽ cài đặt gói pyperformance
và chạy điểm chuẩn
Cách chạy Điểm chuẩn Python với PyPerformance
Được rồi, vậy là chúng ta có cả hai vùng chứa đang chạy và được đính kèm trong VSCode. Đó là phần khó khăn
Bước tiếp theo là cài đặt gói pyperformance
. Chạy lệnh sau trong cả hai vùng chứa
python3 -m pip install pyperformance
Sau khi cài đặt, hãy chạy lệnh shell bên dưới trong cửa sổ VSCode được đính kèm với Python 3. 10 thùng
pyperformance run -o py310.json
Và chạy một lệnh tương tự trong Python 3. 11 thùng chứa
pyperformance run -o py311.json
Các lệnh này sẽ chạy một bộ gồm vài chục điểm chuẩn, vì vậy hãy đi lấy một tách cà phê - sẽ mất một chút thời gian
Hình ảnh 2 — Chạy điểm chuẩn Python trên 3. 10 và 3. 11 trong Docker [hình ảnh của tác giả]
Sau khi hoàn thành, pyperformance
sẽ lưu kết quả đầu ra vào các tệp
docker run -t -d python:3.11-rc-bullseye
0 và docker run -t -d python:3.11-rc-bullseye
0 tương ứngHình 3 — Điểm chuẩn đã hoàn thành cho cả hai phiên bản Python [hình ảnh của tác giả]
Mỗi tệp nằm trong một bộ chứa Docker riêng biệt, vì vậy, để thực sự so sánh hai tệp này, bạn sẽ phải tải các tệp JSON xuống máy cục bộ của mình [hoặc tải tệp lên từ bộ chứa này sang bộ chứa khác]
Tôi đã tải xuống cả hai cục bộ và cài đặt gói pyperformance trong môi trường ảo Python. Hãy xem cách họ so sánh tiếp theo
Trăn 3. 10 so với. Trăn 3. 11 — Cái nào nhanh hơn?
Tốt nhất là bạn nên đặt cả hai tệp JSON vào cùng một thư mục. Mở thư mục đó trong cửa sổ Terminal và chạy lệnh shell sau
pyperf compare_to py310.json py311.json --table
Đây là đầu ra
Hình 4 — Python 3. 10 so với. 3. 11 kết quả benchmark [ảnh của tác giả]
Tôi đếm năm bài kiểm tra trong đó Python 3. 10 nhanh hơn một chút so với Python 3. 11. Ở những nơi khác, Python 3. 11 nhanh hơn tới 64% so với Python 3. 10. Theo ý nghĩa hình học, Python 3. 11 nhanh hơn 14% so với Python 3. 10
Tóm tắt về Python 3. 10 so với. Trăn 3. 11 điểm chuẩn
Và bạn đã có nó — so sánh hiệu suất giữa Python 3. 10 và Trăn 3. 11. Điều đáng chú ý là Python 3. 11 vẫn chưa ra mắt, vì vậy chúng tôi đang so sánh một bản phát hành hoàn toàn ổn định với một ứng cử viên phát hành. Có lẽ khoảng cách sẽ còn lớn hơn giữa hai người sau khi phát hành chính thức. Chỉ có thời gian sẽ trả lời
Bạn nghĩ gì về bản phát hành Python sắp tới?
Thích bài viết? . Tôi sẽ nhận được một phần phí thành viên của bạn nếu bạn sử dụng liên kết sau mà không phải trả thêm phí