Они обе являются функцией (и, следовательно, не имеют разницы в скорости), просто она (оператор) может использовать более «причудливый» синтаксис для вызова.
Ваш вопрос при принятии решения о том, какой из двух использовать, должен быть не скоростью, а скорее, если значение является естественным для типа, над которым вы используете оператор.Когда вы используете это, чтобы сделать что-то, что было бы совершенно удивительно для читателя, учитывая, что он знает, что обычно делает оператор, тогда не перегружайте оператор.of int, и на тот случай, если вы не знали, вы не можете перегружать операторы для int, один из параметров перегруженного оператора должен быть пользовательского типа)