#includeintmain() {
int sum = 0;
for (int i = 0; i < 1000000; i++) {
sum += i;
}
printf("Sum: %d\n", sum);
return0;
}
反汇编:
gcc -g -o example example.c
objdump -d example
性能分析:
perf record -g ./example
perf report
优化:
使用循环展开和内联函数:
#includeinlineintsum_range(int start, int end) {
int sum = 0;
for (int i = start; i < end xss=removed class="hljs-keyword">return sum;
}
intmain() {
int sum = sum_range(0, 1000000);
printf("Sum: %d\n", sum);
return0;
}