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.
This commit is contained in:
Andreas Kling 2019-08-24 22:39:12 +02:00
parent d38bd3935b
commit ac7a559d96
Notes: sideshowbarker 2024-07-19 12:32:55 +09:00

View File

@ -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 {};