12、常用函数和循环语句中的被计算量
来源:互联网 发布:智能车循迹编程教学 编辑:程序博客网 时间:2024/06/17 03:25
—————————————————
看一下下面这个例子:
for( i=0; i<1000; i++ ){
GetLocalHostName( hostname );
...
}
GetLocalHostName的意思是取得当前计算机名,在循环体中,它会被调用1000次啊。这是多么的没有效率的事啊。应该把这个函数拿到循环体外,这样只调用一次,效率得到了很大的提高。虽然,我们的编译器会进行优化,会把循环体内的不变的东西拿到循环外面,但是,你相信所有编译器会知道哪些是不变的吗?我觉得编译器不可靠。最好还是自己动手吧。
同样,对于常用函数中的不变量,如:
GetLocalHostName(char* name)
{
char* funcName = "GetLocalHostName";
sys_log( "%s begin......", funcName );
...
sys_log( "%s end......", funcName );
}
如果这是一个经常调用的函数,每次调用时都要对funcName进行分配内存,这个开销很大啊。把这个变量声明成static吧,当函数再次被调用时,就会省去了分配内存的开销,执行效率也很好。
看一下下面这个例子:
for( i=0; i<1000; i++ ){
GetLocalHostName( hostname );
...
}
GetLocalHostName的意思是取得当前计算机名,在循环体中,它会被调用1000次啊。这是多么的没有效率的事啊。应该把这个函数拿到循环体外,这样只调用一次,效率得到了很大的提高。虽然,我们的编译器会进行优化,会把循环体内的不变的东西拿到循环外面,但是,你相信所有编译器会知道哪些是不变的吗?我觉得编译器不可靠。最好还是自己动手吧。
同样,对于常用函数中的不变量,如:
GetLocalHostName(char* name)
{
char* funcName = "GetLocalHostName";
sys_log( "%s begin......", funcName );
...
sys_log( "%s end......", funcName );
}
如果这是一个经常调用的函数,每次调用时都要对funcName进行分配内存,这个开销很大啊。把这个变量声明成static吧,当函数再次被调用时,就会省去了分配内存的开销,执行效率也很好。
- 12、常用函数和循环语句中的被计算量
- 第四天:JAVA中的循环语句详解,和常用例子
- shell中的循环语句和条件语句
- 第三节循环语句和函数初识
- 循环语句中的break和continue区别
- Python中的条件选择和循环语句
- Python中的条件选择和循环语句
- 循环语句中的break和continue
- Python中的条件选择和循环语句
- shell 中的for循环while循环和case语句
- 常用循环语句
- mybatis常用循环语句
- python中的条件选择语句和循环语句
- python中的条件选择语句和循环语句
- PHP基础2-函数/分支语句/循环语句/表单处理/文件导入/常用php函数
- 函数\语句\判断\循环
- db2中的循环语句。
- db2中的循环语句
- DirectX 9高层着色语言介绍3——语言基础(2)
- 8、在堆上分配内存
- 9、变量的初始化
- 10、h和c文件的使用
- 11、出错信息的处理
- 12、常用函数和循环语句中的被计算量
- 什么是web标准
- 13、函数名和变量名的命名
- ACM Asia Regional (Kanpur Site) Programming Contest 2001 Problem H
- 14、函数的传值和传指针
- 15、修改别人程序的修养
- 16、把相同或近乎相同的代码形成函数和宏
- 17、表达式中的括号
- 18、函数参数中的const