A quick performance comparison between wrapping a function with std::function vs. a template