1、缺页
缺页往往意味着需要访问外部存储,因为外部存储的访问相对于访问内存或者代码的执行,有着数量级的差别,因此,缺页也就是影响性能的一大因素。程序中应尽最大的努力来减少缺页。
2、从堆中动态申请释放内存
像C中的malloc/free,还有C++中的new/delete操作非常耗时,因此要尽可能优先考虑从线程栈中获取内存。原因不仅是因为从堆中开辟内存比栈慢得多,还为了避免缺页。
3、复杂对象的创建与销毁
这就是构造与析构的问题,一个相当深的递归调用!(暂不懂)
4、函数调用
函数的调用有额外的开销,当函数的代码量相对较少且函数被频繁调用时,函数调用时的固定额外开销成为不必要的开销,C中的宏和C++中的内联函数就是为了减少额外开销而引入的。因此在C++中提倡使用内联函数,但是减少时间是以占用更多的空间为代价的,所以使用内联函数也应适当。
阅读(1562) | 评论(0) | 转发(0) |