Bảng dưới đây tóm tắt hiệu suất của các hàm băm khác nhau được mô tả ở trên, cho ba bộ dữ liệu:
1) Tất cả các từ và cụm từ có các mục trong Từ điển không giới hạn thứ hai của Merriam-Webster (311,141 chuỗi, dài 10 ký tự).
2) Tất cả các chuỗi trong / bin / , / usr / bin / , / usr / lib / , / usr / ucb /
và / usr / openwin / bin / * (66.304 chuỗi, độ dài avg 21 ký tự).
3) Danh sách các URL được thu thập bởi trình thu thập dữ liệu web đã chạy trong vài giờ đêm qua (28.372 chuỗi, dài 49 ký tự).
Chỉ số hiệu suất được hiển thị trong bảng là "kích thước chuỗi trung bình" trên tất cả các thành phần trong bảng băm (nghĩa là giá trị dự kiến của số lượng khóa so sánh để tìm kiếm một yếu tố).
Webster's Code Strings URLs
--------- ------------ ----
Current Java Fn. 1.2509 1.2738 13.2560
P(37) [Java] 1.2508 1.2481 1.2454
P(65599) [Aho et al] 1.2490 1.2510 1.2450
P(31) [K+R] 1.2500 1.2488 1.2425
P(33) [Torek] 1.2500 1.2500 1.2453
Vo's Fn 1.2487 1.2471 1.2462
WAIS Fn 1.2497 1.2519 1.2452
Weinberger's Fn(MatPak) 6.5169 7.2142 30.6864
Weinberger's Fn(24) 1.3222 1.2791 1.9732
Weinberger's Fn(28) 1.2530 1.2506 1.2439
Nhìn vào bảng này, rõ ràng tất cả các hàm ngoại trừ hàm Java hiện tại và hai phiên bản bị hỏng của hàm Weinberger đều cung cấp hiệu năng tuyệt vời, gần như không thể phân biệt được. Tôi phỏng đoán mạnh mẽ rằng hiệu suất này về cơ bản là "lý tưởng lý thuyết", đó là những gì bạn sẽ nhận được nếu bạn sử dụng một trình tạo số ngẫu nhiên thực sự thay cho hàm băm.
Tôi loại trừ chức năng WAIS vì đặc điểm kỹ thuật của nó chứa các trang có số ngẫu nhiên và hiệu suất của nó không tốt hơn bất kỳ chức năng nào đơn giản hơn nhiều. Bất kỳ chức năng nào trong sáu chức năng còn lại có vẻ như là sự lựa chọn tuyệt vời, nhưng chúng ta phải chọn một chức năng. Tôi cho rằng tôi loại trừ biến thể của Vo và chức năng của Weinberger vì sự phức tạp của chúng, mặc dù là nhỏ. Trong bốn cái còn lại, tôi có thể chọn P (31), vì nó rẻ nhất để tính toán trên máy RISC (vì 31 là sự khác biệt của hai sức mạnh của hai). P (33) tương tự rẻ để tính toán, nhưng hiệu suất của nó kém hơn một chút và 33 là tổng hợp, điều này khiến tôi hơi lo lắng.
Josh