Link to original video by Anton Putra
Rust vs. Go (Golang): Performance (Fastest Frameworks + PostgreSQL)

Tóm tắt ngắn:
- Video so sánh hiệu năng của Rust và Go khi sử dụng các framework web nhanh nhất và kết nối với cơ sở dữ liệu PostgreSQL.
- Điểm mấu chốt: Axum (Rust) và Genet (Go) được sử dụng để benchmark. Go cho thấy hiệu năng vượt trội trong các bài test, đặc biệt là về throughput, ngay cả khi có kết nối cơ sở dữ liệu. Tuy nhiên, có hiện tượng bất thường về độ ổn định và mức sử dụng tài nguyên của ứng dụng Go khi kết nối với PostgreSQL.
- Ứng dụng: So sánh hiệu năng ngôn ngữ lập trình cho phát triển web, lựa chọn công nghệ phù hợp cho các ứng dụng cần hiệu năng cao.
- Phương pháp: Thực hiện hai bài test: một test chỉ so sánh framework, một test bao gồm kết nối và ghi dữ liệu vào PostgreSQL. Các chỉ số đo lường bao gồm throughput, độ trễ, sử dụng CPU, sử dụng bộ nhớ, kích thước nhóm kết nối.
Tóm tắt chi tiết:
Video chia thành hai phần chính:
Phần 1: So sánh hiệu năng framework (không có PostgreSQL):
- Người tạo video sử dụng Axum (Rust) và Genet (Go), hai framework được cho là nhanh nhất trong mỗi ngôn ngữ.
- Kết quả cho thấy Go (Genet) đạt gần 170.000 yêu cầu/giây, vượt trội so với Rust (Axum). Độ trễ của cả hai ngôn ngữ tương đương nhau. Sử dụng CPU và bộ nhớ cũng tương đối giống nhau. Go được đánh giá là "người chiến thắng rõ ràng" trong phần test này.
Phần 2: So sánh hiệu năng với PostgreSQL:
- Bài test này thêm vào việc kết nối và ghi dữ liệu vào cơ sở dữ liệu PostgreSQL. Cả hai ứng dụng đều được giới hạn ở 500 kết nối.
- Go vẫn cho thấy throughput cao hơn đáng kể (nhiều hơn Rust), nhưng xuất hiện hiện tượng bất thường: độ trễ không ổn định, có các điểm đột biến, sử dụng CPU giảm bất thường trong khi tải vẫn giữ nguyên.
- Go ghi được nhiều bản ghi vào cơ sở dữ liệu hơn đáng kể so với Rust (khoảng 5 triệu so với một lượng nhỏ hơn nhiều).
- Người tạo video nhận xét về hành vi kỳ lạ của ứng dụng Go khi tương tác với PostgreSQL và kêu gọi sự trợ giúp để tìm ra nguyên nhân. Rust cho thấy hiệu năng ổn định và đáng tin cậy hơn trong phần test này.
Nhận xét chung:
Video cho thấy Go có tiềm năng hiệu năng cao hơn Rust trong các ứng dụng web, đặc biệt là về throughput. Tuy nhiên, kết quả test với PostgreSQL cho thấy sự cần thiết phải kiểm tra kỹ hơn về sự ổn định và hiệu quả của ứng dụng Go, đặc biệt khi tương tác với cơ sở dữ liệu. Sự bất thường trong kết quả Go cần được điều tra thêm. Người tạo video nhấn mạnh việc cần cải thiện ứng dụng Go để có kết quả chính xác hơn.