[lang_ru] Начиная с 2005 версии Делфи, появилась возможность создавать вложенные функции, они значительно увеличивают скорость выполнения кода, за счет того, что не генерируют вызов этой фукнции, а просто на место вызова дублируют себя. Тем самым исключаются шаги, связанные с выделением памяти под функцию и локальные переменные, возвращением значения и т.д. Вместо 10-15 строчек остается 3-5 строчек кода для небольшой функции.[/lang_ru]

[lang_en]

Starting with the 2005 version of Delphi, it is possible to create inline functions, they significantly increase the speed of the code, due to the fact that do not generate a call of this function, but simply copy code to executing place. In so doing, excludes the steps associated with the allocation of function memory and the local variables, return values, etc. Instead of lines 10-15 is 3-5 lines of code for small functions for each execution point.

[/lang_en]

[lang_ru]

Одна важная поправка на то, что использование вложенных фукнций увеличивает и размер исполняемого файла, так как код функции дублируется в каждое место своего вызова. Так что использовать стоит это дело рационально и желательно для небольших фукнций.

Например, функция поиска минимального из двух чисел, которая вызывается в цикле. Для увеличения производительности выполнения программы эту небольшую функцию можно сделать вложенной.

[/lang_ru]

[lang_en]

One important thing is that the use of inline function increases the size of the executable file, because the code function is duplicated in every place of the function call. So use it reasonable and desirable for small functions.

For example, search for a minimum of two numbers, which is called in a loop. To increase the productivity performance of the program of this small function, make it inline.

[/lang_en]

function min ( a, b: Interger ): Integer; inline;

begin

if (a < b) then Result := a

else Result := b;

end;

Delphi inline function
Метки:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *