18.08.2015, 09:00
Привет. Вот я задумался по поводу быстродействия функций и макросов. Недавно мне предложили заменить функцию
Макросом
Аргументировав это тем, что на вызов функции нужно хоть малое, но время. По началу я особо и не задумался, а взял и заменил. Но вот сейчас мне кажется немного не правильной эта точка зрения, ведь если например я 50 раз использую макрос, в итоге это будет 50 раз повторяющийся один и тот же код.
А вот насчёт функций мне так не кажется. Если я прав, то эта функция просто вызовется 50 раз, а код будет написан только в 1 месте.. и это как-бы должно быть лучше.
Хотя с другой стороны моя функция ничего толком и не делает, кроме как вызывает пару других и умножает полученное число, и никаких больших условий в ней нет.
Так собственно вопрос: что было бы лучше в данной ситуации, и в каких лучше одно, а в каких другое, либо же что из этого использовать не нужно вообще?
pawn Код:
GetSpeed(Float:vX, Float:vY, Float:vZ) return floatround(VectorSize(vX, vY, vZ) * 179.28625);
pawn Код:
#define GetSpeed(%0,%1,%2) floatround(VectorSize(%0, %1, %2) * 179.28625)
А вот насчёт функций мне так не кажется. Если я прав, то эта функция просто вызовется 50 раз, а код будет написан только в 1 месте.. и это как-бы должно быть лучше.
Хотя с другой стороны моя функция ничего толком и не делает, кроме как вызывает пару других и умножает полученное число, и никаких больших условий в ней нет.
Так собственно вопрос: что было бы лучше в данной ситуации, и в каких лучше одно, а в каких другое, либо же что из этого использовать не нужно вообще?