2013-11-24 61 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