我有一個工具可以通過文件系統對某些文件進行併發搜索。當該工具通過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。那麼這個值至少意味着東西。
耶設置似乎是一個好主意,謝謝 –