Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Какой вариант кажется профессиональнее? C++

d sas Мастер (1034), на голосовании 5 месяцев назад
 float ints(vec3 &start,vec3 &pos,vec3 &normal,vec3 &dir){   
return -dot(start-pos, normal)/dot(dir, normal);
}
 float ints(vec3 &start,vec3 &pos,vec3 &normal,vec3 &dir){ 
vec3 a = start-pos;
float b=-dot(a, normal);
float c=dot(dir, normal);
float r=b/c;

return r;
}
 
struct vec3{
float x,y,z;
//...
}

float dot(vec3 &a, vec3 &b){
return a.x*b.x+a.y*b.y+a.z*b.z;
}

есть ли разница в производительности между двумя функциями ints, и как лучше поступать в подобных случаях?
Голосование за лучший ответ
Sergio 2.1 Оракул (67415) 6 месяцев назад
1. Вариант с инлайновыми вычислениями (первый) может быть быстрее за счёт уменьшения количества операций.
2. Разница в производительности минимальна и зависит от компилятора.
3. В подобных случаях предпочтительнее инлайн-вычисления для простых функций.
LV Мудрец (17199) 6 месяцев назад
тут еще вопрос легкости дальнейшего сопровождения этого кода.
легкость понимания и внесения правок
Похожие вопросы