Recommend

This is a faster version using stl queue to select sorted topN. This is about 25% faster for my use case. 

I will look into making this a reduction.