如考虑并行设计,每一个线程处理的数据量是否平均,其耗时与资源占用如何,需要在编码前有一定的了解
类和子程序设计
针对问题选择合适的数据结构和算法
数据类型决定了程序内存消耗,算法决定了程序的执行速度...如gcc的优化参数 O1 O2 O3的选择
编写出编译器能够有效转化以转换成高效可执行代码的源码. 需要对编译器原理有一定了解
编译器的局限性....如C指针的内存别名问题(可使用restrict限定符来解决)
// 编译器不敢进行优化,只能次序执行两条指令,原因就是假如xp yp指向同一地址,
// 那么非次序执行的情况下结果会出现异常
void...在if-then-else/switch case 中将最可能出现的情况放到前面,减少判断次数
知道答案后提前退出
查询表代替复杂表达式....如数据库没有建立索引导致查询低效,编译器没有开启优化等操作
参考
第25,26章
第6章