优化程序性能

重温csapp
http://www.cs.cmu.edu/afs/cs/academic/class/15213-f15/www/lectures/10-optimization.pdf

  1. moving code out of loop # 一些编译器会帮你做

  2. 少用乘除 16*x -> x<<4

  3. 将重复且不会发生改变的函数移除loop
    void lower(char *s) { size_t i; size_t len = strlen(s); for (i = 0; i < len; i++) if (s[i] >= 'A' && s[i] <= 'Z') s[i] -= ('A' - 'a'); }

  4. 善用局部变量,编译器可以不用储存中间结果,避免多次访问同一内存

  5. 展开循环
    优化程序性能_第1张图片

优化程序性能_第2张图片

优化程序性能_第3张图片
优化程序性能_第4张图片
优化程序性能_第5张图片

§ S;ll sequen;al dependency
优化程序性能_第6张图片

优化程序性能_第7张图片

优化程序性能_第8张图片

优化程序性能_第9张图片

优化程序性能_第10张图片

你可能感兴趣的:(杂)