Bladeren bron

Ext2FS: Avoid a String allocation in lookup()

By using find() with a custom finder, we can avoid creating a temporary
key value that's only used for the hash lookup.
Andreas Kling 6 jaren geleden
bovenliggende
commit
ac7a559d96
1 gewijzigde bestanden met toevoegingen van 1 en 1 verwijderingen
  1. 1 1
      Kernel/FileSystem/Ext2FileSystem.cpp

+ 1 - 1
Kernel/FileSystem/Ext2FileSystem.cpp

@@ -1263,7 +1263,7 @@ InodeIdentifier Ext2FSInode::lookup(StringView name)
     ASSERT(is_directory());
     populate_lookup_cache();
     LOCKER(m_lock);
-    auto it = m_lookup_cache.find(name);
+    auto it = m_lookup_cache.find(name.hash(), [&](auto& entry) { return entry.key == name; });
     if (it != m_lookup_cache.end())
         return { fsid(), (*it).value };
     return {};