Давайте использовать соглашение x ^ n. Давайте предположим, что n всегда является целым числом.
Для малых значений n скучное умножение будет быстрее, потому что Math.Pow (вероятно, зависит от реализации) использует причудливые алгоритмы, чтобы n было нецелым и / или отрицательным.
При больших значениях n Math.Pow, скорее всего, будет быстрее, но если ваша библиотека не очень умная, она будет использовать тот же алгоритм, который не идеален, если вы знаете, что n всегда является целым числом. Для этого вы можете кодировать реализацию возведения в степень, возводя в квадрат или какой-то другой причудливый алгоритм.
Конечно, современные компьютеры работают очень быстро, и вам, вероятно, следует придерживаться самого простого, легкочитаемого, наименее вероятного метода с ошибками, пока вы не сравните тест программы и не будете уверены, что вы получите значительное ускорение при использовании другого алгоритма.