Optimizing Program Performance--Reucing Procedure Calls
来源:互联网 发布:apache与php的关系 编辑:程序博客网 时间:2024/05/16 09:24
函数调用会增加一些overhead。调用越多对性能的影响越大。
所以要尽量减少在loop中的函数调用。
如:
例子1
1 /* Move call to vec_length out of loop */
2 void combine2(vec_ptr v, data_t *dest)
3 {
4 int i;
5 int length = vec_length(v);
6
7 *dest = IDENT;
8 for (i = 0; i < length; i++) {
9 data_t val;
10 get_vec_element(v, i, &val);
11 *dest = *dest OPER val;
12 }
13 }
例子2
1 data_t *get_vec_start(vec_ptr v)
2 {
3 return v->data;
4 }
1 /* Direct access to vector data */
2 void combine3(vec_ptr v, data_t *dest)
3 {
4 int i;
5 int length = vec_length(v);
6 data_t *data = get_vec_start(v);
7
8 *dest = IDENT;
9 for (i = 0; i < length; i++) {
10 *dest = *dest OPER data[i];
11 }
12 }
这个例子中,假设vec_ptr结构中的data数据一个数组。 那在循环中每次去下一个元素的时候,就可以用数组的操作,而不用函数。
当然这个方法,对数据结构的封装性有所破坏。 只是作为例子,学习一下。
- Optimizing Program Performance--Reucing Procedure Calls
- Optimizing Program Performance
- Optimizing Program Performance-- Expressing Program Performance
- Optimizing Program Performance--Enhanceing Parallelism
- Optimizing Program Performance--Expressing relative performance
- Optimizing Program Performance-- Summary, Performance Improvement Techniques
- Optimizing Program Performance-- Eliminating Loop Inefficiencies
- Optimizing Program Performance--Eliminating Unneeded Memory Reference
- Optimizing Program Performance-- Reducing Loop Overhead
- Chapter 5 Optimizing Program Performance [《CSAPP》 笔记]
- Optimizing Program Performance-- Capability and limitation of Optimizing Compilers
- Optimizing Program Performance-- 使用GPROF来查看系统的性能
- 读书笔记: optimizing program performance<computer system a programmer perspective>
- Remote Procedure Calls (RPC)
- Remote Procedure Calls (RPC)
- Asynchronous Procedure Calls
- Reducing Procedure Calls
- Optimizing Graphics Performance
- 3G软件人才
- 让表格和浏览器的顶部对齐
- try{}catch{}finally{} 里的代码的执行顺序问题
- 网络编程 一
- 2009十大网络流行语
- Optimizing Program Performance--Reucing Procedure Calls
- yjsy 配置文件 config.xml
- mysqldump进行Mysql 备份
- DES算法
- 如何做一个出色的程序员
- 收集
- yjsy 配置文件 weblogic setDomainEnv.cmd
- 一牛校友词
- Greystripe Ups The Ante In The iPhone Ad Network Wars, Launches Guaranteed CPM Program