Stur
Guest
Что происходит при вызове функции на PHP?
Недавно начал программировать на PHP, а до этого занимался C++ и Pascal.
Так вот при вызове функции или процедуры (Pascal) происходит целая серия дополнительных команд для процессора. При входе в функцию в стек заносятся текущее значение определенных регистров процессора, а на выходе эти значения восстанавливается.
Точно не помню, но на ассемблере это будет выглядеть примерно так:
push ax
push bx
push cs
push ss
push ds
тело подпрограммы
pop ds
pop ss
pop cs
pop bx
pop ax
С точки зрения эффективности кода каждый вызов функции генерирует около 5 или больше дополнительных операций для процессора на входе и столько же на выходе помимо основного кода.
Поэтому рекомендуется использовать функции разумно, особенно если функция вызывается в цикле.
Вопрос: как происходит вызов функции на PHP?
Недавно начал программировать на PHP, а до этого занимался C++ и Pascal.
Так вот при вызове функции или процедуры (Pascal) происходит целая серия дополнительных команд для процессора. При входе в функцию в стек заносятся текущее значение определенных регистров процессора, а на выходе эти значения восстанавливается.
Точно не помню, но на ассемблере это будет выглядеть примерно так:
push ax
push bx
push cs
push ss
push ds
тело подпрограммы
pop ds
pop ss
pop cs
pop bx
pop ax
С точки зрения эффективности кода каждый вызов функции генерирует около 5 или больше дополнительных операций для процессора на входе и столько же на выходе помимо основного кода.
Поэтому рекомендуется использовать функции разумно, особенно если функция вызывается в цикле.
Вопрос: как происходит вызов функции на PHP?