2
我正在使用由SHA1摘要(ubyte[20]
)索引的D內置哈希表來關聯我的文件系統搜索引擎中的信息。D中的SHA1索引哈希表
是否有任何數據結構更適合於這個(在D中),因爲這樣一個關鍵字的所有優良屬性:統一的,分佈式的,隨機的,固定大小的或者D的內置哈希表的行爲會自動找出例如,它可能只是將SHA1摘要的前n(1-8)個字節選爲存儲區索引?
我正在使用由SHA1摘要(ubyte[20]
)索引的D內置哈希表來關聯我的文件系統搜索引擎中的信息。D中的SHA1索引哈希表
是否有任何數據結構更適合於這個(在D中),因爲這樣一個關鍵字的所有優良屬性:統一的,分佈式的,隨機的,固定大小的或者D的內置哈希表的行爲會自動找出例如,它可能只是將SHA1摘要的前n(1-8)個字節選爲存儲區索引?
我認爲在標準映射中使用的散列函數足夠簡單(成本明智),除非您運行大多數查找的代碼,否則它將不會產生太多差異。請記住,完整的密鑰將被讀取以進行最終比較,以便以任何方式將其加載到緩存中。
OTOH我認爲有一個opHash
方法可以重載。
您正在考慮的方法是'size_t toHash()@trusted nothrow;' –
所以我想我只是根據體系結構返回了前4個(32位)或8個(64位)字節。 –
@Nordlöw,我反對這個想法...... :)'toHash()'用於別的東西。 – DejanLekic