================ @@ -107,31 +107,39 @@ DependencyScanningFilesystemSharedCache::getShardForUID( return CacheShards[Hash % NumShards]; } -std::vector<StringRef> -DependencyScanningFilesystemSharedCache::getInvalidNegativeStatCachedPaths( +std::vector<DependencyScanningFilesystemSharedCache::InvalidEntryDiagInfo> +DependencyScanningFilesystemSharedCache::getInvalidEntryDiagInfo( llvm::vfs::FileSystem &UnderlyingFS) const { // Iterate through all shards and look for cached stat errors. - std::vector<StringRef> InvalidPaths; + std::vector<InvalidEntryDiagInfo> InvalidDiagInfo; for (unsigned i = 0; i < NumShards; i++) { const CacheShard &Shard = CacheShards[i]; std::lock_guard<std::mutex> LockGuard(Shard.CacheLock); ---------------- qiongsiwu wrote:
How much do we worry about the performance of going through the whole cache iteratively in this loop? I think a simple thing to do is to check a single shard per thread using a thread pool. Do we think it is worth doing? https://github.com/llvm/llvm-project/pull/144105 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits