C言語なら俺に聞け(入門編)Part 117
■ このスレッドは過去ログ倉庫に格納されています
0341デフォルトの名無しさん
2013/07/22(月) NY:AN:NY.ANvoid sumup(int n, int *array1, int *array2)
{
/*assert((n % 4)== 0);*/
for(int i = 0; i < n; i++) array1[i] += array2[i];
}
void sumup(int n, int * restrict array1, int * restrict array2)
{
/*assert((n % 4)== 0);*/
for(int i = 0; i < n; i++) array1[i] += array2[i];
}
gcc -std=c99 -O2 -S
で比べてみたけど、変わらない
intのポインタだから4の倍数のアドレスじゃないと
実行時に遅くなることがあるよってことで
コンパイラの最適化の問題になるのかどうかは微妙
■ このスレッドは過去ログ倉庫に格納されています