Разница в том, что функции более простая конструкция с точки зрения компилятора, тайп-чекера и т.п.
Обьект - это сложная фигня с иерархией наследования, конструкторами и десктрукторами, перегрузками методов и т.д. и т.п.
Функция - это простейщая фигня вообще без движущихся частей.
Она элементарно выражается и работает в системах типов.
Пока что результирующий код на c++ оптимальнее фпшного