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