6.熟悉你的编译器,使用好编译选项
如果想使程序性能在不改变的情况下提升性能,可以采用-O参数。
又如aCC的+u选项将重新指定对齐方式。
当然,上面的主要针对C/C++开发而言,如果是JAVA开发,则需要去熟悉虚拟机机制。
7.不要轻易的绑定CPU
但不建议这么做,这样的做法影响到多核的CPU调度,除非万不得已,不建议使用。
8.慎用list的size
不过后来的STL对该方法进行优化,在使用时确认清楚后再使用。
9.资源预分配
10.不要随便关闭文件
如果可能,在打开文件句柄后,尽可能晚的去关闭,以减少fopen和fclose的次数。这两个函数涉及对磁盘的访问,其速度可想而知。
但有一点要注意:程序在调用fclose之前,往文件中fwrite的内容不会被写到磁盘上面,如果不想fclose,又想将内容及时的写入磁盘,可以调用fflush方法。
11.用switch...case代替if...else
12.不要在循环中申请变量
for (int i = 0; i < 100; i++)
{
char *p = NULL;
}
可以用下面的代码代替:
char *p = NULL;
for (int i = 0; i < 100; i++)
{
p = NULL;
}
其它的一些注意点如用移位代替乘除、减少重复的计算等,但根本上实在尽可能的去节省“资源”。这里的资源主要包含三个方面:
2) 内存
3) IO(包含磁盘IO、网络通信、数据库访问等)
如果感兴趣,可以退回到文章的开头看一下,每一条都有分别对应的资源。
前期链接:《那些隐藏在编码过程中的性能(一)》http://blog.csdn.net/dseven/article/details/8872444