我有一个工具可以通过文件系统对某些文件进行并发搜索。当该工具通过fs进行搜索时,可能会发现它需要在最初未包含在搜索中的目录中进行搜索。用Node.js记录遍历的fs路径
我应该做的是记住每个已经开始搜索的目录。
我想不出更好的方式来memoize的只是将它们存储在一个哈希像这样的文件路径:
interface IMemoizationMap {
[key: string]: boolean
}
,这样可能看起来像:
const hash = {
'/Users/you/projects/x': true,
'/Users/you/projects/x/lib': true,
'/Users/you/projects/x/lib': true,
...
...
'/Users/you/some-stuff/z': true
};
然后我做快速查找,看看我是否需要搜索某个目录。这个解决方案令人感到尴尬的是,哈希中的值几乎可以是任何东西 - true,false,undefined。
这是记忆穿越的文件路径的最佳方式吗?
顺便说一句,是
key in hash
相同的性能如
hash[key]
?
如果是这样的话,那么会有一些值得保存的值数据:当一个目录开始被搜查我能值false
,然后在目录中完成搜索,我可以翻转值为true。那么这个值至少意味着东西。
耶设置似乎是一个好主意,谢谢 –