Hướng dẫn will python 3.10 be faster? - python 3.10 có nhanh hơn không?

Hãy hào hứng với Python 3.11 - cuối cùng, đó là thời gian để cải thiện hiệu suất đáng kể

Ảnh của Matthew Brodeur trên unplash

Nó không có gì bí mật rằng 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 ​​sẽ được phát sóng vào tháng 10 năm 2022. Điều thậm chí còn tốt hơn là có phiên bản ứng cử viên (RC) có sẵn để chúng tôi chơi xung quanh.

Đó chính xác là những gì chúng tôi sẽ làm ngày hôm nay. Chúng tôi sẽ cài đặt Python 3.10 và 3.11 trong các thùng chứa Docker riêng biệt và xem cách chúng so sánh 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, vì nó 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 khác, nó nhanh hơn tới 64%. Tôi đã chạy các điểm chuẩn trên M1 Pro MacBook Pro 16 với CPU 10 lõi. 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ể khác nhau, nhưng bạn sẽ thấy kết quả tương tự, nói tương đối. — On average, Python 3.11 is 14% faster than Python 3.10. The new version is marginally slower on some benchmarks, but on the others, it’s up to 64% faster. I ran the benchmarks on M1 Pro MacBook Pro 16 with a 10-core CPU. Each Python version was installed in Docker, which utilized 5 logical CPU cores. Your mileage may vary, but you should see similar results, relatively speaking.

Bạn có cảm thấy thích đọc sách? Thay vào đó xem video của tôi:

Cách cài đặt Python 3.11 trong Docker

Nếu bạn muốn theo dõi, bạn sẽ cần cài đặt Docker. Nó là một công cụ bắt buộc trong bất kỳ vành đai công cụ khoa học dữ liệu nào, vì vậy nó không phải là một vấn đề. Khi Docker đang chạy, hãy mở hai tab đầu cuối.

Trong lần đầ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 thời gian để tải xuống và bắt đầu 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 Windows Visual Studio Code và đính kèm chúng vào các thùng 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 Code Visual Studio Code Code). Ngoài ra, bạn cũng chỉ có thể gắn vỏ.

Khi ở trong thùng chứa, khởi chạy một thiết bị đầu cuối tích hợp VSCode mới và kiểm tra các phiên bản Python:

Hình ảnh 1 - Container Python 3.10 và 3.11 được đính kèm trong mã Visual Studio (hình ả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 các điểm chuẩn.

Cách chạy điểm chuẩn Python với sự phù hợp

Được rồi, vì vậy chúng tôi có cả hai container chạy và gắn 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 container:both containers:

python3 -m pip install pyperformance

Sau khi cài đặt, chạy lệnh shell bên dưới trong cửa sổ VSCode được gắn vào container Python 3.10:

pyperformance run -o py310.json

Và chạy một lệnh tương tự trong container Python 3.11:

pyperformance run -o py311.json

Những mệnh lệnh này sẽ chạy một bộ của cặp vợ chồng, vì vậy hãy lấy một tách cà phê - sẽ mất một thời gian.

Hì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 đầu ra vào các tệp py310.json

docker run -t -d python:3.11-rc-bullseye
0, tương ứng:

Hình 3 - Điểm chuẩn kết thúc 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 thùng chứa Docker riêng biệt, vì vậy để thực sự so sánh hai tệp, bạn sẽ phải tải các tệp JSON vào máy cục bộ của bạn (hoặc tải tệp từ một thùng chứa này sang hộp khác).

Tôi đã tải xuống cả hai địa phương 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.

Python 3.10 so với Python 3.11 - Cái nào nhanh hơn?

Tốt hơn là, bạn sẽ muốn đặt cả hai tệp JSON vào cùng một thư mục. Mở thư mục đó trong cửa sổ đầu cuối và chạy lệnh shell sau:

pyperf compare_to py310.json py311.json --table

Ở đây, đầu ra:

Hình 4 - Python 3.10 so với kết quả điểm chuẩn 3.11 (Hình ảnh của tác giả)

Tôi đếm năm thử nghiệm trong đó Python 3.10 nhanh hơn một chút so với Python 3.11. Ở những người khác, Python 3.11 nhanh hơn tới 64% so với Python 3.10. Theo giá trị trung bình hình học, Python 3.11 nhanh hơn 14% so với Python 3.10.

Tóm tắt Python 3.10 so với Python 3.11 Điểm chuẩn

Và ở đó bạn có nó - so sánh hiệu suất giữa Python 3.10 và Python 3.11. Điều đáng chú ý là Python 3.11 vẫn chưa ra mắt, vì vậy chúng tôi đã 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 mới nói.

Bạn nghĩ gì về bản phát hành Python sắp tới? Bạn có hào hứng khi thấy Python chạy nhanh hơn, hay bạn không quan tâm chút nào? Hãy cho tôi biết trong phần bình luận dưới đây.

Yêu thích bài báo? Trở thành một thành viên trung bình để tiếp tục học tập mà không giới hạn. 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, không có thêm chi phí cho bạn.

Liệu Python có bao giờ nhận được nhanh hơn không?

Hãy hào hứng với Python 3.11 - cuối cùng cũng là lúc để cải thiện hiệu suất đáng kể.Không có gì bí mật rằng 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 sẽ được phát sóng vào tháng 10 năm 2022 ...Python isn't the fastest programming language out there. Well, that's about to change, or at least head in the right direction. The newest Python release — Python 3.11 — is expected to air in October 2022 ...

Python 3.11 sẽ nhanh hơn?

Python là một ngôn ngữ tuyệt vời nhưng mọi người đã biết điều đó.Bây giờ với Python 3.11, nó gây ra một số tiếng ồn trong vòng tròn Python.Nó đã trở nên nhanh hơn gần gấp 2 lần so với người tiền nhiệm của nó.It has become almost 2x times faster than its predecessor.

Python 3.10 đã thêm gì?

Python 3.10 Giới thiệu tham số nghiêm ngặt mới, thêm một bài kiểm tra thời gian chạy để kiểm tra xem tất cả các chuỗi có được nén có cùng độ dài không.a runtime test to check that all sequences being zipped have the same length.

Tôi nên sử dụng phiên bản Python nào cho năm 2022?

Python phiên bản 3.10.4 là bản phát hành ổn định hiện tại, bản phát hành bảo trì thứ tư của Python 3.10, được xuất bản vào ngày 24 tháng 3 năm 2022.3.10. 4 is the current stable release, the fourth maintenance release of Python 3.10, published on March 24, 2022.