2011-03-19 41 views
6

Tôi luôn bị hấp dẫn bởi đối tượng collections.deque của Python. Nó có vẻ giống như một danh sách, ngoại trừ việc thêm/xóa các mục trong phần đầu sẽ nhanh hơn trong một danh sách.Có bất kỳ điểm chuẩn nào cho thấy hiệu suất tốt của `collections.deque` không?

Điều này làm cho tôi muốn thay thế list bằng deque ở các vị trí khác nhau trong mã của tôi, nơi tôi có danh sách mà tôi bật lại. Vì vậy, câu hỏi của tôi: Đã bao giờ ai đó chuẩn bị deque chống lại list trong các trường hợp như vậy?

+0

Tại sao bạn không tự tạo điểm chuẩn như vậy và báo cáo chúng tại đây? Thay vào đó yêu cầu người khác làm thay mặt cho bản thân bạn? Cảm ơn – eat

+1

@eat anh ấy hỏi nếu ai đó đã thực hiện điểm chuẩn, anh ấy không yêu cầu bạn làm điều đó. –

+5

@eat: Có thể ai đó đã dành hàng giờ để đánh giá deque chống lại danh sách trong các kịch bản khác nhau? Sẽ không tốt hơn nếu chúng ta tiếp xúc với nghiên cứu này thay vì sao chép nó? –

Trả lời

3

tôi chỉ làm một tìm kiếm google nhanh chóng, và tìm thấy hai nguồn với mã và số:

Một bài mailing-list: http://coding.derkeiler.com/Archive/Python/comp.lang.python/2010-01/msg02138.html

Một bài viết trên blog: http://txzone.net/2010/04/python-is-x-is-better-than-y-round-1-deque-vs-list/

Dường như một danh sách là hơi nhanh hơn một deque cho hầu hết các hoạt động, nhưng một deque phá hủy một danh sách (2 đơn đặt hàng của cường độ cho một danh sách các yếu tố 100.000) tại .pop [0].

+0

Trước khi chỉnh sửa của Michael, đây là một đường biên [câu trả lời chỉ có liên kết] (http://meta.stackexchange.com/q/8231/213671). Trong tương lai, hãy mở rộng câu trả lời của bạn để bao gồm nhiều thông tin ở đây và chỉ sử dụng các liên kết để tham khảo. – gunr2171