Python là một ngôn ngữ lập trình mã nguồn mở đa mục đích, có hỗ trợ các phong cách lập trình cốt lõi khác nhau (chẳng hạn như các mô hình hướng đối tượng và thủ tục) mà triết lý thiết kế của nó rất thuận lợi cho việc đọc hiểu code, đơn giản và rõ ràng.

PHP là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML.

Ruby là một ngôn ngữ lập trình hướng đối tượng, có khả năng phản ứng. Theo tác giả, Ruby chịu ảnh hưởng bởi Perl, Smalltalk, Eiffel, Ada và Lisp. Ruby là ngôn ngữ thông dịch và hướng đối tượng. Ruby cung cấp nhiều mẫu hình lập trình, bao gồm lập trình hàm, hướng đối tượng, mệnh lệnh, phản xạ

 

Python là ngôn ngữ scripting. Vậy nó thường là chậm tương tự như PHP, Ruby.

Web Framework viết bằng Python thường không được ưa chuộng khi so với PHP. Gần có thư viện Sanic sử dụng thư viện uvloop. UVLoop viết bằng Python nhưng dịch ra Cython. Thư viện đằng sau UVLoop lại libuv mà Node.js dùng để tiếp nhận yêu cầu mà không bắt yêu cầu tiếp theo phải chờ đợi (non-blocking I/O).

Tốc độ của UVLoop được kiểm tra nhanh như Golang.

Sanic là một web framework sử dụng UVLoop, nó gần như nhanh nhất trong các web framework Python mình biết (Django quá chậm, Flask cũng chậm, ...). Sanic còn cho phép tạo ra nhiều worker để tiếp nhận yêu cầu.

Khi cấu hình sanic sử dụng đến 8 workers thì tốc độ nó nhanh như ứng dụng web viết bằng Golang- thư viện iris

Dòng lệnh để tạo ra 450 yêu cầu đồng thời với tổng số 20,000 yêu cầu
hey -n 20000 -c 450 http://0.0.0.0:8080

  • Hỏi: Nếu sanic nhanh thì có nên dùng Python để lập trình web application không?
  • Trả lời: Vẫn không nên, hãy dùng Golang nếu bạn cần tốc độ cao, PHP nếu tạo CMS.. Dùng Python để xử lý, phân tích dữ liệu, machine learning sẽ vẫn là tốt nhất.

Còn nếu bạn chỉ muốn dùng Python để làm tất cả mọi việc thì lập trình Web bằng Python cũng ok.

Link thư viện Sanic đây nhé. Ad thực sự ấn tượng bởi thư viện này
https://github.com/huge-success/sanic

Nếu bạn tò mò hãy thử tìm hiểu khóa Python ứng dụng - đào tạo chuyên nghiệp tại hệ thống Techmaster nhé !