анонимная производительность функции в PHP

Я начинаю использовать парадигмы функционального программирования в php и задаюсь вопросом, что такое воздействие на производительность. Некоторые гуглинг просто говорят, что есть некоторые. Чтобы быть конкретным, я хотел бы знать:

  • Действительно ли это воздействие на производительность или это городская легенда?
  • Каково влияние производительности (надеюсь, кто-то из тех, кто сделал тесты)?
  • Что вызывает это воздействие (если оно существует)?
  • Это фиксированная стоимость или за выполнение?

Любые ресурсы, которые вы, ребята, были бы очень благодарны 🙂

заранее спасибо

Я провел некоторое тестирование с помощью array_map (), называя его:

  1. Имя функции ( array_map('test', $myArray); )
  2. Переменная, содержащая замыкание ( array_map($test, $myArray); )
  3. Закрытие ( array_map(function{}(), $myArray); )

Во всех трех случаях функция была пустой ( function test(){} )

Результаты для массива с 1.000.000 элементами ( $myArray = range(1,1000000); )

 Function: 0.693s Variable:0.703s Closure: 0.694s 

Для массива из 10.000.000 элементов результат следующий:

 Function: 8.913s Variable: 8.169s Closure: 8.117s 

Поэтому ни в одном случае у нас много накладных расходов, если они есть.

Также см. 4-й комментарий по http://fabien.potencier.org/article/17/on-php-5-3-lambda-functions-and-closures. Он приходит к тем же выводам. В этом комментарии вы также видите, что create_function() значительно медленнее.