2013-11-24 91 views
2

我正在使用由SHA1摘要(ubyte[20])索引的D內置哈希表來關聯我的文件系統搜索引擎中的信息。D中的SHA1索引哈希表

是否有任何數據結構更適合於這個(在D中),因爲這樣一個關鍵字的所有優良屬性:統一的,分佈式的,隨機的,固定大小的或者D的內置哈希表的行爲會自動找出例如,它可能只是將SHA1摘要的前n(1-8)個字節選爲存儲區索引?

回答

2

我認爲在標準映射中使用的散列函數足夠簡單(成本明智),除非您運行大多數查找的代碼,否則它將不會產生太多差異。請記住,完整的密鑰將被讀取以進行最終比較,以便以任何方式將其加載到緩存中。

OTOH我認爲有一個opHash方法可以重載。

+2

您正在考慮的方法是'size_t toHash()@trusted nothrow;' –

+0

所以我想我只是根據體系結構返回了前4個(32位)或8個(64位)字節。 –

+0

@Nordlöw,我反對這個想法...... :)'toHash()'用於別的東西。 – DejanLekic