Công ty Facebook
F14 đề cập đến các thuật toán có hệ thống giải quyết xung đột dựa trên hàm băm kép với 14
Điểm đặc biệt của F14 là khả năng lựa chọn các chiến lược lưu trữ dữ liệu khác nhau:
- F14NodeMap - tiêu tốn ít bộ nhớ nhất cho các phím cỡ lớn và trung bình. Đảm bảo rằng các phần tử được lưu trữ gián tiếp bằng lệnh gọi malloc trên mỗi lần chèn;
- F14ValueMap - cung cấp mức tiêu thụ bộ nhớ tối thiểu cho các phím nhỏ. Các phần tử được lưu trữ trong chính các ô (nội tuyến). Đối với các khóa trung bình và lớn, cách tiếp cận này dẫn đến tiêu tốn bộ nhớ đáng kể;
- F14VectorMap - hoạt động nhanh hơn đối với các bảng lớn và các khóa phức tạp, nhưng chậm hơn đối với các khóa đơn giản và các bảng nhỏ. Các phần tử được đóng gói thành một mảng được điền liên tục và được xử lý bằng con trỏ chỉ mục 32 bit;
- F14FastMap là một chiến lược kết hợp. Nếu khóa nhỏ hơn 24 byte thì F14ValueMap sẽ được chọn và nếu nhiều hơn thì F14VectorMap sẽ được chọn.
Nguồn: opennet.ru