Есть ли разница во времени выполнения?
Почти незаметно, и это сильно зависит от возможных оптимизаций. Компилятор может встроить вызов (заменить его эквивалентным выражением, как вы это сделали). Даже JIT-компилятор может это сделать.
Если есть, то почему?
Точно так же, как в реальной жизни! Когда вы оцениваете первую форму, вам нужно перейти к функции, вычислить ее, а затем вернуться к точке вызова: это занимает время, и машина не делает ничего, кроме вас. Вы должны оплатить звонок. Вызов функции не очень дорогой, поэтому для многих приложений он не оказывает серьезного влияния на производительность; конечно, если вы находитесь в какой-то конкретной c области, которая может измениться, подумайте о задачах с высокими вычислениями как о прогнозировании, моделировании и т. д. c.
Итак, в заключение напишите call форма, так как это разлагает код на части, приводя к более читаемому коду, и т. Д. Пусть компиляторы делают оптимизацию, если это возможно (сейчас компиляторы очень умны). Я сомневаюсь, что вам нужно будет оптимизировать это самостоятельно.