Python có nhanh trên Linux không?

Python là một trong những ngôn ngữ lập trình phổ biến nhất đối với các nhà phát triển, nhưng nó có những hạn chế nhất định. Ví dụ: tùy thuộc vào ứng dụng, nó có thể chậm hơn tới 100 lần so với một số ngôn ngữ cấp thấp hơn. Đó là lý do tại sao nhiều công ty viết lại ứng dụng của họ bằng ngôn ngữ khác khi tốc độ của Python trở thành nút cổ chai đối với người dùng. Nhưng nếu có một cách để giữ lại các tính năng tuyệt vời của Python và cải thiện tốc độ của nó thì sao?

PyPy là một trình thông dịch Python rất tuân thủ, là một giải pháp thay thế xứng đáng cho CPython 2. 7, 3. 6, và sắp tới là 3. 7. Bằng cách cài đặt và chạy ứng dụng của bạn với nó, bạn có thể đạt được những cải tiến đáng chú ý về tốc độ. Mức độ cải thiện mà bạn sẽ thấy tùy thuộc vào ứng dụng bạn đang chạy

Trong hướng dẫn này, bạn sẽ học

  • Cách cài đặt và chạy mã của bạn với PyPy
  • Cách PyPy so sánh với CPython về tốc độ
  • Các tính năng của PyPy là gì và cách chúng làm cho mã Python của bạn chạy nhanh hơn
  • Những hạn chế của PyPy là gì

Các ví dụ trong hướng dẫn này sử dụng Python 3. 6 vì đó là phiên bản Python mới nhất mà PyPy tương thích với

Python và PyPy

Đặc tả ngôn ngữ Python được sử dụng trong một số triển khai như CPython [viết bằng C], Jython [viết bằng Java], IronPython [viết cho. NET] và PyPy [được viết bằng Python]

CPython là triển khai ban đầu của Python và cho đến nay là phổ biến nhất và được duy trì nhiều nhất. Khi mọi người đề cập đến Python, họ thường không có nghĩa là CPython. Có thể bạn đang sử dụng CPython ngay bây giờ

Tuy nhiên, vì là ngôn ngữ thông dịch cấp cao nên CPython có những hạn chế nhất định và sẽ không giành được huy chương nào về tốc độ. Đó là nơi mà PyPy có thể có ích. Vì tuân thủ đặc tả ngôn ngữ Python, PyPy không yêu cầu thay đổi cơ sở mã của bạn và có thể mang lại những cải tiến đáng kể về tốc độ nhờ các tính năng bạn sẽ thấy bên dưới

Bây giờ, bạn có thể thắc mắc tại sao CPython không triển khai các tính năng tuyệt vời của PyPy nếu chúng sử dụng cùng một cú pháp. Lý do là việc triển khai các tính năng đó sẽ yêu cầu những thay đổi lớn đối với mã nguồn và sẽ là một công việc quan trọng

Không đi sâu vào lý thuyết, hãy xem PyPy hoạt động

Loại bỏ các quảng cáo

Cài đặt

Hệ điều hành của bạn có thể đã cung cấp gói PyPy. Ví dụ: trên macOS, bạn có thể cài đặt nó với sự trợ giúp của Homebrew

$ brew install pypy3

Nếu không, bạn có thể tải xuống tệp nhị phân dựng sẵn cho hệ điều hành và kiến ​​trúc của mình. Khi bạn hoàn tất quá trình tải xuống, vấn đề chỉ là giải nén tệp tarball hoặc ZIP. Sau đó, bạn có thể thực thi PyPy mà không cần cài đặt nó ở bất cứ đâu

$ tar xf pypy3.6-v7.3.1-osx64.tar.bz2
$ ./pypy3.6-v7.3.1-osx64/bin/pypy3
Python 3.6.9 [?, Jul 19 2020, 21:37:06]
[PyPy 7.3.1 with GCC 4.2.1]
Type "help", "copyright", "credits" or "license" for more information.

Trước khi thực thi đoạn mã trên, bạn cần ở trong thư mục mà bạn đã tải xuống tệp nhị phân. Tham khảo tài liệu cài đặt để biết hướng dẫn đầy đủ

PyPy đang hoạt động

Bây giờ bạn đã cài đặt PyPy và bạn đã sẵn sàng để xem nó hoạt động. Để làm điều đó, hãy tạo một tệp Python có tên

$ tar xf pypy3.6-v7.3.1-osx64.tar.bz2
$ ./pypy3.6-v7.3.1-osx64/bin/pypy3
Python 3.6.9 [?, Jul 19 2020, 21:37:06]
[PyPy 7.3.1 with GCC 4.2.1]
Type "help", "copyright", "credits" or "license" for more information.
7 và đặt đoạn mã sau vào đó

 1total = 0
 2for i in range[1, 10000]:
 3    for j in range[1, 10000]:
 4        total += i + j
 5
 6print[f"The result is {total}"]

Đây là tập lệnh, trong hai vòng lặp

$ tar xf pypy3.6-v7.3.1-osx64.tar.bz2
$ ./pypy3.6-v7.3.1-osx64/bin/pypy3
Python 3.6.9 [?, Jul 19 2020, 21:37:06]
[PyPy 7.3.1 with GCC 4.2.1]
Type "help", "copyright", "credits" or "license" for more information.
8 lồng nhau, cộng các số từ
$ tar xf pypy3.6-v7.3.1-osx64.tar.bz2
$ ./pypy3.6-v7.3.1-osx64/bin/pypy3
Python 3.6.9 [?, Jul 19 2020, 21:37:06]
[PyPy 7.3.1 with GCC 4.2.1]
Type "help", "copyright", "credits" or "license" for more information.
0 đến
$ tar xf pypy3.6-v7.3.1-osx64.tar.bz2
$ ./pypy3.6-v7.3.1-osx64/bin/pypy3
Python 3.6.9 [?, Jul 19 2020, 21:37:06]
[PyPy 7.3.1 with GCC 4.2.1]
Type "help", "copyright", "credits" or "license" for more information.
1 và in kết quả

Để xem mất bao lâu để chạy tập lệnh này, hãy chỉnh sửa tập lệnh để thêm các dòng được đánh dấu

 1import time
 2
 3start_time = time.time[]
 4
 5total = 0
 6for i in range[1, 10000]:
 7    for j in range[1, 10000]:
 8        total += i + j
 9
10print[f"The result is {total}"]
11
12end_time = time.time[]
13print[f"It took {end_time-start_time:.2f} seconds to compute"]

Mã bây giờ thực hiện các hành động sau

  • Dòng 3 lưu thời gian hiện tại vào biến
    $ tar xf pypy3.6-v7.3.1-osx64.tar.bz2
    $ ./pypy3.6-v7.3.1-osx64/bin/pypy3
    Python 3.6.9 [?, Jul 19 2020, 21:37:06]
    [PyPy 7.3.1 with GCC 4.2.1]
    Type "help", "copyright", "credits" or "license" for more information.
    
    2
  • Dòng 5 đến 8 chạy các vòng lặp
  • Dòng 10 in kết quả
  • Dòng 12 lưu thời gian hiện tại thành
    $ tar xf pypy3.6-v7.3.1-osx64.tar.bz2
    $ ./pypy3.6-v7.3.1-osx64/bin/pypy3
    Python 3.6.9 [?, Jul 19 2020, 21:37:06]
    [PyPy 7.3.1 with GCC 4.2.1]
    Type "help", "copyright", "credits" or "license" for more information.
    
    3
  • Dòng 13 in sự khác biệt giữa
    $ tar xf pypy3.6-v7.3.1-osx64.tar.bz2
    $ ./pypy3.6-v7.3.1-osx64/bin/pypy3
    Python 3.6.9 [?, Jul 19 2020, 21:37:06]
    [PyPy 7.3.1 with GCC 4.2.1]
    Type "help", "copyright", "credits" or "license" for more information.
    
    2 và
    $ tar xf pypy3.6-v7.3.1-osx64.tar.bz2
    $ ./pypy3.6-v7.3.1-osx64/bin/pypy3
    Python 3.6.9 [?, Jul 19 2020, 21:37:06]
    [PyPy 7.3.1 with GCC 4.2.1]
    Type "help", "copyright", "credits" or "license" for more information.
    
    3 để hiển thị mất bao lâu để chạy tập lệnh

Hãy thử chạy nó với Python. Đây là những gì tôi nhận được trên MacBook Pro 2015 của mình

$ tar xf pypy3.6-v7.3.1-osx64.tar.bz2
$ ./pypy3.6-v7.3.1-osx64/bin/pypy3
Python 3.6.9 [?, Jul 19 2020, 21:37:06]
[PyPy 7.3.1 with GCC 4.2.1]
Type "help", "copyright", "credits" or "license" for more information.
0

Bây giờ hãy chạy nó với PyPy

$ tar xf pypy3.6-v7.3.1-osx64.tar.bz2
$ ./pypy3.6-v7.3.1-osx64/bin/pypy3
Python 3.6.9 [?, Jul 19 2020, 21:37:06]
[PyPy 7.3.1 with GCC 4.2.1]
Type "help", "copyright", "credits" or "license" for more information.
1

Trong điểm chuẩn tổng hợp nhỏ này, PyPy nhanh hơn Python khoảng 94 lần

Để biết các điểm chuẩn nghiêm túc hơn, bạn có thể xem Trung tâm tốc độ PyPy, nơi các nhà phát triển chạy các điểm chuẩn hàng đêm với các tệp thực thi khác nhau

Hãy nhớ rằng cách PyPy ảnh hưởng đến hiệu suất mã của bạn phụ thuộc vào mã của bạn đang làm gì. Có một số tình huống trong đó PyPy thực sự chậm hơn, như bạn sẽ thấy sau. Tuy nhiên, trên trung bình hình học, đó là 4. Nhanh gấp 3 lần Python

Loại bỏ các quảng cáo

PyPy và các tính năng của nó

Trong lịch sử, PyPy đã đề cập đến hai điều

  1. Khung ngôn ngữ động để tạo trình thông dịch cho ngôn ngữ động
  2. Một triển khai Python sử dụng khung đó

Bạn đã thấy ý nghĩa thứ hai đang hoạt động bằng cách cài đặt PyPy và chạy một tập lệnh nhỏ với nó. Việc triển khai Python mà bạn đã sử dụng được viết bằng khung ngôn ngữ động có tên là RPython, giống như CPython được viết bằng C và Jython được viết bằng Java

Nhưng chẳng phải bạn đã nói trước đó rằng PyPy được viết bằng Python sao? . Lý do PyPy được biết đến như một trình thông dịch Python được viết bằng Python [chứ không phải bằng RPython] là vì RPython sử dụng cú pháp giống như Python

Để giải quyết mọi thứ, đây là cách PyPy được sản xuất

  1. Mã nguồn được viết bằng RPython

  2. Chuỗi công cụ dịch RPython được áp dụng cho mã, điều này về cơ bản làm cho mã hiệu quả hơn. Nó cũng biên dịch mã thành mã máy, đó là lý do tại sao người dùng Mac, Windows và Linux phải tải xuống các phiên bản khác nhau

  3. Một tệp thực thi nhị phân được tạo ra. Đây là trình thông dịch Python mà bạn đã sử dụng để chạy tập lệnh nhỏ của mình

Hãy nhớ rằng bạn không cần phải thực hiện tất cả các bước này để sử dụng PyPy. Tệp thực thi đã có sẵn để bạn cài đặt và sử dụng

Ngoài ra, vì rất khó hiểu khi sử dụng cùng một từ cho cả khung và triển khai, nhóm đằng sau PyPy đã quyết định loại bỏ cách sử dụng kép này. Bây giờ, PyPy chỉ đề cập đến việc triển khai Python. Khung được gọi là chuỗi công cụ dịch RPython

Tiếp theo, bạn sẽ tìm hiểu về các tính năng giúp PyPy tốt hơn và nhanh hơn Python trong một số trường hợp

Trình biên dịch Just-In-Time [JIT]

Trước khi tìm hiểu về trình biên dịch JIT là gì, hãy lùi lại một bước và xem xét các thuộc tính của các ngôn ngữ được biên dịch như C và các ngôn ngữ được giải thích như JavaScript

Các ngôn ngữ lập trình được biên dịch có hiệu suất cao hơn nhưng khó chuyển sang các hệ điều hành và kiến ​​trúc CPU khác nhau. Các ngôn ngữ lập trình được thông dịch dễ mang theo hơn, nhưng hiệu suất của chúng kém hơn nhiều so với các ngôn ngữ được biên dịch. Đây là hai thái cực của quang phổ

Sau đó, có những ngôn ngữ lập trình như Python kết hợp cả biên dịch và thông dịch. Cụ thể, Python trước tiên được biên dịch thành một mã byte trung gian, sau đó được CPython giải thích. Điều này làm cho mã hoạt động tốt hơn mã được viết bằng ngôn ngữ lập trình được giải thích thuần túy và nó duy trì lợi thế về tính di động

Tuy nhiên, hiệu suất vẫn không bằng phiên bản đã biên dịch. Lý do là mã được biên dịch có thể thực hiện nhiều tối ưu hóa mà mã byte không thể thực hiện được

Đó là lúc trình biên dịch just-in-time [JIT] xuất hiện. Nó cố gắng để có được những phần tốt hơn của cả hai thế giới bằng cách thực hiện một số biên dịch thực sự thành mã máy và một số diễn giải. Tóm lại, đây là các bước biên dịch JIT cần thực hiện để cung cấp hiệu suất nhanh hơn

  1. Xác định các thành phần được sử dụng thường xuyên nhất của mã, chẳng hạn như một chức năng trong một vòng lặp
  2. Chuyển đổi các phần đó thành mã máy trong thời gian chạy
  3. Tối ưu hóa mã máy được tạo
  4. Hoán đổi việc triển khai trước đó với phiên bản mã máy được tối ưu hóa

Bạn có nhớ hai vòng lặp lồng nhau ở phần đầu của hướng dẫn không? . Đó là lý do tại sao bạn thấy một sự cải thiện lớn về tốc độ

Thu gom rác thải

Bất cứ khi nào bạn tạo các biến, hàm hoặc bất kỳ đối tượng nào khác, máy tính của bạn sẽ cấp phát bộ nhớ cho chúng. Cuối cùng, một số đối tượng đó sẽ không còn cần thiết nữa. Nếu bạn không dọn dẹp chúng, thì máy tính của bạn có thể hết bộ nhớ và làm hỏng chương trình của bạn

Trong các ngôn ngữ lập trình như C và C++, bạn thường phải xử lý vấn đề này theo cách thủ công. Các ngôn ngữ lập trình khác như Python và Java sẽ tự động làm điều đó cho bạn. Đây được gọi là thu gom rác tự động và có một số kỹ thuật để thực hiện việc này

CPython sử dụng một kỹ thuật gọi là đếm tham chiếu. Về cơ bản, số lượng tham chiếu của một đối tượng Python được tăng lên bất cứ khi nào đối tượng được tham chiếu và nó giảm đi khi đối tượng bị hủy đăng ký. Khi số tham chiếu bằng 0, CPython sẽ tự động gọi hàm giải phóng bộ nhớ cho đối tượng đó. Đó là một kỹ thuật đơn giản và hiệu quả, nhưng có một nhược điểm

Khi số lượng tham chiếu của một cây lớn các đối tượng trở thành 0, tất cả các đối tượng liên quan sẽ được giải phóng. Kết quả là bạn có khả năng bị tạm dừng lâu trong thời gian đó chương trình của bạn hoàn toàn không tiến triển

Ngoài ra, có một trường hợp sử dụng trong đó việc đếm tham chiếu đơn giản là không hoạt động. Hãy xem xét đoạn mã sau

$ tar xf pypy3.6-v7.3.1-osx64.tar.bz2
$ ./pypy3.6-v7.3.1-osx64/bin/pypy3
Python 3.6.9 [?, Jul 19 2020, 21:37:06]
[PyPy 7.3.1 with GCC 4.2.1]
Type "help", "copyright", "credits" or "license" for more information.
2

Trong đoạn mã trên, bạn xác định lớp mới. Sau đó, bạn tạo một thể hiện của lớp và gán nó làm thuộc tính cho chính nó. Cuối cùng, bạn xóa thể hiện

Tại thời điểm này, phiên bản không thể truy cập được nữa. Tuy nhiên, việc đếm tham chiếu không xóa phiên bản khỏi bộ nhớ vì nó có tham chiếu đến chính nó, do đó, số tham chiếu không phải là số không. Vấn đề này được gọi là chu kỳ tham chiếu và không thể giải quyết vấn đề này bằng cách đếm tham chiếu

Đây là nơi CPython sử dụng một công cụ khác được gọi là bộ thu gom rác tuần hoàn. Nó duyệt qua tất cả các đối tượng trong bộ nhớ bắt đầu từ các gốc đã biết như đối tượng

$ tar xf pypy3.6-v7.3.1-osx64.tar.bz2
$ ./pypy3.6-v7.3.1-osx64/bin/pypy3
Python 3.6.9 [?, Jul 19 2020, 21:37:06]
[PyPy 7.3.1 with GCC 4.2.1]
Type "help", "copyright", "credits" or "license" for more information.
6. Sau đó, nó xác định tất cả các đối tượng có thể truy cập và giải phóng các đối tượng không thể truy cập vì chúng không còn tồn tại nữa. Điều này giải quyết vấn đề chu kỳ tham chiếu. Tuy nhiên, nó có thể tạo ra nhiều khoảng dừng đáng chú ý hơn khi có một số lượng lớn đối tượng trong bộ nhớ

Mặt khác, PyPy không sử dụng cách đếm tham chiếu. Thay vào đó, nó chỉ sử dụng kỹ thuật thứ hai, công cụ tìm chu trình. Đó là, nó định kỳ đi qua các vật thể sống bắt đầu từ gốc. Điều này mang lại cho PyPy một số lợi thế so với CPython vì nó không bận tâm đến việc đếm tham chiếu, khiến tổng thời gian dành cho quản lý bộ nhớ ít hơn trong CPython

Ngoài ra, thay vì làm mọi thứ trong một nhiệm vụ chính như CPython, PyPy chia công việc thành nhiều phần khác nhau và chạy từng phần cho đến khi không còn phần nào. Cách tiếp cận này chỉ thêm một vài mili giây sau mỗi bộ sưu tập nhỏ thay vì thêm hàng trăm mili giây trong một lần như CPython

Thu gom rác rất phức tạp và có nhiều chi tiết nằm ngoài phạm vi của hướng dẫn này. Bạn có thể tìm thêm thông tin về bộ sưu tập rác của PyPy trong tài liệu

Loại bỏ các quảng cáo

Hạn chế của PyPy

PyPy không phải là viên đạn bạc và có thể không phải lúc nào cũng là công cụ phù hợp nhất cho nhiệm vụ của bạn. Nó thậm chí có thể làm cho ứng dụng của bạn hoạt động chậm hơn nhiều so với CPython. Đó là lý do tại sao điều quan trọng là bạn phải ghi nhớ những hạn chế sau

Nó không hoạt động tốt với phần mở rộng C

PyPy hoạt động tốt nhất với các ứng dụng Python thuần túy. Bất cứ khi nào bạn sử dụng mô-đun mở rộng C, nó sẽ chạy chậm hơn nhiều so với trong CPython. Lý do là PyPy không thể tối ưu hóa các mô-đun mở rộng C vì chúng không được hỗ trợ đầy đủ. Ngoài ra, PyPy phải mô phỏng việc đếm tham chiếu cho phần mã đó, khiến nó thậm chí còn chậm hơn

Trong những trường hợp như vậy, nhóm PyPy khuyên bạn nên gỡ bỏ tiện ích mở rộng CPython và thay thế nó bằng một phiên bản Python thuần túy để JIT có thể nhìn thấy và thực hiện tối ưu hóa nó. Nếu đó không phải là một tùy chọn, thì bạn sẽ phải sử dụng CPython

Như đã nói, nhóm nòng cốt đang làm việc trên phần mở rộng C. Một số gói đã được chuyển sang PyPy và hoạt động nhanh như vậy

Nó chỉ hoạt động tốt với các chương trình chạy dài

Hãy tưởng tượng bạn muốn đi đến một cửa hàng rất gần nhà bạn. Bạn có thể đi bộ hoặc lái xe

Xe của bạn rõ ràng là nhanh hơn nhiều so với đôi chân của bạn. Tuy nhiên, hãy nghĩ về những gì nó sẽ yêu cầu bạn làm

  1. Đi đến nhà để xe của bạn
  2. khởi động xe của bạn
  3. Làm ấm xe lên một chút
  4. Lái xe đến cửa hàng
  5. Tìm chỗ đậu xe
  6. Lặp lại quá trình trên đường trở lại

Có rất nhiều chi phí liên quan đến việc lái xe ô tô và không phải lúc nào cũng đáng nếu địa điểm bạn muốn đến ở gần đó

Bây giờ hãy nghĩ xem điều gì sẽ xảy ra nếu bạn muốn đến một thành phố lân cận cách đó năm mươi dặm. Chắc chắn sẽ rất đáng để lái xe đến đó thay vì đi bộ

Mặc dù sự khác biệt về tốc độ không quá đáng chú ý như trong trường hợp tương tự ở trên, nhưng điều này cũng đúng với PyPy và CPython

Khi bạn chạy một tập lệnh bằng PyPy, nó sẽ thực hiện rất nhiều việc để giúp mã của bạn chạy nhanh hơn. Nếu tập lệnh quá nhỏ, thì chi phí hoạt động sẽ khiến tập lệnh của bạn chạy chậm hơn trong CPython. Mặt khác, nếu bạn có một tập lệnh dài hạn, thì chi phí hoạt động đó có thể trả cổ tức hiệu suất đáng kể

Để tự mình xem, hãy chạy tập lệnh nhỏ sau trong cả CPython và PyPy

$ tar xf pypy3.6-v7.3.1-osx64.tar.bz2
$ ./pypy3.6-v7.3.1-osx64/bin/pypy3
Python 3.6.9 [?, Jul 19 2020, 21:37:06]
[PyPy 7.3.1 with GCC 4.2.1]
Type "help", "copyright", "credits" or "license" for more information.
4

Có một độ trễ nhỏ lúc đầu khi bạn chạy nó với PyPy, trong khi CPython chạy nó ngay lập tức. Về con số chính xác, phải mất 17 giây để chạy nó trên MacBook Pro 2015 với CPython và 18 giây để chạy nó với PyPy

Nó không biên dịch trước thời gian

Như bạn đã thấy ở phần đầu của hướng dẫn này, PyPy không phải là một triển khai Python được biên dịch đầy đủ. Nó biên dịch mã Python, nhưng nó không phải là trình biên dịch mã Python. Do tính năng động vốn có của Python, không thể biên dịch Python thành một tệp nhị phân độc lập và sử dụng lại nó

PyPy là trình thông dịch thời gian chạy nhanh hơn ngôn ngữ được thông dịch đầy đủ nhưng lại chậm hơn ngôn ngữ được biên dịch đầy đủ chẳng hạn như C

Loại bỏ các quảng cáo

Phần kết luận

PyPy là một giải pháp thay thế nhanh chóng và có khả năng cho CPython. Bằng cách chạy tập lệnh của bạn với nó, bạn có thể cải thiện tốc độ đáng kể mà không cần thực hiện một thay đổi nào đối với mã của mình. Nhưng nó không phải là một viên đạn bạc. Nó có một số hạn chế và bạn sẽ cần kiểm tra chương trình của mình để xem liệu PyPy có thể giúp được gì không

Trong hướng dẫn này, bạn đã học

  • PyPy là gì
  • Cách cài đặt PyPy và chạy tập lệnh của bạn với nó
  • Cách PyPy so sánh với CPython về tốc độ
  • PyPy có những tính năng gì và nó cải thiện tốc độ chương trình của bạn như thế nào
  • PyPy có những hạn chế nào có thể khiến nó không phù hợp trong một số trường hợp

Nếu tập lệnh Python của bạn cần tăng tốc một chút, thì hãy dùng thử PyPy. Tùy thuộc vào chương trình của bạn, bạn có thể nhận được một số cải tiến đáng chú ý về tốc độ

Nếu bạn có bất kỳ câu hỏi nào, xin vui lòng liên hệ trong phần bình luận bên dưới

Đánh dấu là đã hoàn thành

🐍 Thủ thuật Python 💌

Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python

Gửi cho tôi thủ thuật Python »

Giới thiệu về Jahongir Rahmonov

Jahongir là một Kỹ sư phần mềm có trụ sở tại Berlin, người gốc Uzbekistan. Anh ấy thích nói về Python, Django, GCP và Kubernetes

» Tìm hiểu thêm về Jahongir

Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là

Aldren

Geir Arne

Jim

Joanna

Gia-cốp

Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bậc thầy Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bạn nghĩ sao?

Đánh giá bài viết này

Tweet Chia sẻ Chia sẻ Email

Bài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. Nhận các mẹo để đặt câu hỏi hay và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi

Python có chạy trên Linux nhanh hơn Windows không?

Hiệu suất của Python 3 trên Linux vẫn nhanh hơn nhiều so với Windows . Cần có JavaScript để xem các kết quả này hoặc đăng nhập vào Phoronix Premium. Nếu dự định thực hiện bất kỳ phát triển web/ĐÈN nào từ máy tính xách tay giá rẻ và thử nghiệm các tập lệnh PHP cục bộ, hiệu suất PHP7 của Ubuntu tiếp tục chạy mạnh hơn nhiều so với Windows 10.

Lập trình Linux có nhanh hơn không?

Linux là HĐH nhanh, hiệu quả và nhẹ. Mã nguồn và tập lệnh chạy nhanh hơn trong Linux , đó là lý do tại sao Linux là hệ điều hành tốt nhất cho các lập trình viên.

Python có hữu ích cho Linux không?

Một cách hay để học lập trình . Mặc dù một số môi trường phát triển tích hợp tốt nhất cho Python có sẵn trong Linux, nhưng bạn cũng có thể sử dụng trình soạn thảo văn bản của bản phân phối của mình. Sử dụng Python trên Linux là một cách dễ dàng và thú vị để bắt đầu lập trình.

Tại sao Python chậm hơn trên Windows?

Máy ảo là một thành phần nội bộ của Python. Mã Python nội bộ được giải thích trong thời gian chạy thay vì được biên dịch thành mã gốc do đó chậm hơn một chút.

Chủ Đề