Две части два мой вопрос. Что является более эффективным/быстрее:длинные строки целочисленной арифметики
int a,b,c,d,e,f;
int a1,b1,c1,d1,e1,f1;
int SumValue=0; // oops forgot zero
// ... define all values
SumValue=a*a1+b*b1+c*c1+d*d1+e*e1*f*f1;
или
Sumvalue+=a*a1+b*b1+c*c1;
Sumvalue+=d*d1+e*e1*f*f1;
Я предполагаю, что первый из них. Мой второй вопрос - почему.
Я предполагаю, что третий вопрос заключается в том, что в любом случае необходимо разбить операцию добавления (помимо ограничений компилятора на количество продолжений строк и т. Д.).
Редактировать
единственный раз, когда я хотел бы видеть замедление, когда то вся операция арифметика не может поместиться в кэше? Я думаю, что это невозможно - компилятор, вероятно, злится на два ряда строк, прежде чем это произойдет. Может быть, мне придется играть завтра и посмотреть.
Его арифметика, с 'e' :-) – Arun
Положите их в действительно большую петлю, и пора их. Тогда вы узнаете, какой из них быстрее. – abelenky
@ArunSaha, зачем комментировать, когда вы можете редактировать? :-) – ergosys