Open ankurhero opened 3 years ago
https://github.com/boostorg/compute/blob/36c89134d4013b2e5e45bc55656a18bd6141995a/include/boost/compute/detail/lru_cache.hpp#L102
Since i is a valid iterator, we can replace this call with. m_map[key] = std::make_pair(value, j);
with
i->second = std::make_pair(value, j);
avoiding the second map search.
I don't think this will work as iterator is not passing to the location corresponding to key but to a random position ( map.end() ).
key
map.end()
https://github.com/boostorg/compute/blob/36c89134d4013b2e5e45bc55656a18bd6141995a/include/boost/compute/detail/lru_cache.hpp#L102
Since i is a valid iterator, we can replace this call with. m_map[key] = std::make_pair(value, j);
with
i->second = std::make_pair(value, j);
avoiding the second map search.