关于提高C语言执行效率的几点

1、以空间换取时间

程序的复杂度包含时间复杂度和空间复杂度,而随着计算机硬件的发展,渐渐放低了对空间复杂度的要求,在很多情况下,为了换取程序的执行效率,牺牲计算机的空间。比如字符串的相关操作、使用缓存技术等。

2、算法

时间复杂度更低、效率更高的算法可以提高执行效率。一个简单的例子,计算1~100这些数的和,可以循环100次,也可以直接使用求和公式,在执行效率上,是显而易见的。

3、嵌入汇编

汇编代码是低级语言,直接操作硬件,理论上更快,但使用汇编对编程人员的要求相对较高,同时编译器的优化做得也非常好,最后也会降低程序的可移植性,三思而后行吧。

/*实现了a=a+b+c*/
__asm
{
    push eax
    mov eax,a
    add eax,b
    add eax,c
    mov a,eax
    pop eax
}

4、使用位操作完成某些计算

在计算机程序中数据的位是可以操作的最小数据单位,理论上可以用”位运算”来完成所有的运算和操作。

    /*如:x=7,二进制:0000 0111*/
    x<<1;    /*0000 1110,相当于:x =2*7=14 */
时间: 2024-08-14 21:58:51

关于提高C语言执行效率的几点的相关文章

(转)对《30个提高Web程序执行效率的好经验》的理解

阅读了博客园发布的IT文章<30个提高Web程序执行效率的好经验>,这30条准则对我们web开发是非常有用的,不过大家可能对其中的一些准则是知其然而不知其所以然. 下面是我对这些准则的理解和分析,有些有关JS性能的准则,我也测试了它们的差异,大家可以下载DEMO页面,如有理解不正确的地方,请大家指正.也非常欢迎大家补充. 测试环境: OS:Vista; Processor:3.40GHz; Memory: 2.00GB; System type: 32-bit Operating System

关于提高python程序执行效率的思路和想法

相比编译型语言(C系列)python胜在简介的语法和优雅的动态编程体验,但是在执行效率上,python有解释性语言先天的劣势——执行效率较低,为了让编写出的程序获得更快的执行效率,开启此文章. python将编写好的程序源代码转为字节码,然后用PVM进行解释执行. 方法一:对代码进行优化 循环体中避免无用的赋值和计算,这在所用的编程中是通用的,而且效果显著. 第三方库的选择,比如对于html文本处理,正确使用 re 的解析速度显然会高于BeautifulSoup. 方法二:使用编译优化工具 Py

如何在数据访问层上提高js的执行效率

本文讲到的是如何从数据访问层面上提高JS 代码的执行效率.总的来讲有以下几条原则: 函数中读写局部变量总是最快的,而全局变量的读取则是最慢的: 尽可能地少用with 语句,因为它会增加with 语句以外的数据的访问代价: 闭包尽管强大,但不可滥用,否则会影响到执行速度以及内存: 嵌套的对象成员会明显影响性能,尽量少用: 避免多次访问对象成员或函数中的全局变量,尽量将它们赋值给局部变量以缓存. 这么几句话看似简单,但要深刻理解其中的道理则需涉及到JS的 标识符解析.作用域链.运行期上下文(又称为执

30条技巧提高Web程序执行效率

尽量避免使用DOM.当需要反复使用DOM时,先把对DOM的引用存到JavaScript本地变量里再使用.使用设置innerHTML的方法来替换document.createElement/appendChild()方 法. eval()有问题,new Fuction()构造函数也是,尽量避免使用它们. 拒绝使用with语句. 它会导致当你引用这个变量时去额外的搜索这样的一个命名空间,with里的代码在编译时期是完全未知的. 使用for()循环替代for…in循 环.因为for…in循环在开始循环

简述如何提高SQL语句执行效率,提升性能?

选择最有效率的表名顺序: where子句中的连接顺序: select子句中避免使用'*'; 用where子句替换having子句: 通过内部函数提高SQL效率: 避免在索引列上使用计算: 提高group by语句的效率,可以通过将不需要的记录在group by之前过滤掉.

2.对《30个提高Web程序执行效率的好经验》的理解

摘自:http://www.cnblogs.com/powertoolsteam/archive/2010/07/12/1775933.html 文章中执行代码的消耗时间是怎么计算的,有知道的同学可以教教我,非常感谢!

WebDriverWait智能等待查找元素,提高代码的执行效率,不浪费时间,减少代码量

from selenium.webdriver.support.wait import WebDriverWait智能等待10s之后获取元素,获取的是单个元素def find_element(self, locator):WebDriverWait(self.driver, 10).until(lambda the_driver: the_driver.find_element(locator)) return self.driver.find_element(*locator) # 智能等待1

SQL Server 并行操作优化,避免并行操作被抑制而影响SQL的执行效率

为什么我也要说SQL Server的并行: 这几天园子里写关于SQL Server并行的文章很多,不管怎么样,都让人对并行操作有了更深刻的认识. 我想说的是:尽管并行操作可能(并不是一定)存在这样或者那样的问题,但是我们不能否认并行,仍然要利用好并行. 但是,实际开发中,某些SQL语句的写法会导致用不到并行,从而影响到SQL的执行效率 所以,本文要表达的是:我们要利用好并行,不要让一些SQL的写法问题“抑制”了并行,让我们享受不了并行带来的快感 关于SQL Server的并行: 所谓的并行,指S

解析提高PHP执行效率的50个技巧

1.用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的”函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故 把函数加上了双引号). 2.如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍. 3.$row[‘id’] 的速度是$row[id]的7倍. 4.echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而