Phiên bản không đồng bộ sẽ luôn chậm hơn phiên bản đồng bộ khi không có đồng thời. Nó thực hiện tất cả các công việc giống như phiên bản không đồng bộ, nhưng với một lượng nhỏ chi phí được thêm vào để quản lý sự không đồng bộ.
Không đồng bộ có lợi, đối với hiệu suất, bằng cách cho phép cải thiện tính khả dụng. Mỗi yêu cầu riêng lẻ sẽ chậm hơn, nhưng nếu bạn thực hiện 1000 yêu cầu cùng một lúc, việc triển khai không đồng bộ sẽ có thể xử lý tất cả chúng nhanh hơn (ít nhất là trong một số trường hợp nhất định).
Điều này xảy ra vì giải pháp không đồng bộ cho phép luồng đã được cấp phát để xử lý yêu cầu quay trở lại nhóm và xử lý các yêu cầu khác, trong khi giải pháp đồng bộ buộc luồng ngồi ở đó và không làm gì trong khi chờ hoạt động không đồng bộ hoàn tất. Có một khoản chi phí trong việc cấu trúc chương trình theo cách cho phép luồng được giải phóng để làm công việc khác, nhưng lợi thế là khả năng của luồng đó để thực hiện công việc khác. Trong chương trình của bạn, không có công việc nào khác để chuỗi thực hiện, vì vậy nó kết thúc là lỗ ròng.