C语言如何提高程序效率

C语言如何提高程序效率,第1张

好的代码没有一个统一的衡量标准,在程序员们的世界里大家也是各自按照自己的标准衡量着自己和别人的代码。不过有一个标准几乎是被所有人认同的。服役时间越长、出错率越高的代码就是好代码。所有的编程方法、代码技巧甚至于设计模式都是为了达到这个目的而产生的。

   如何提高程序效率

程序的效率分两部分:时间效率和空间效率。

时间效率 : 指的是程序运行的速度

空间效率 : 指的是程序占用内存或者外存的大小

对于这两点的把握,我们没有明确的方法。这里给出一些能够达成共识的规则,大家在今后自己编码的时候,可以通过这些规则来衡量自己的代码是否符合要求。

规则1:不要一味地追求程序的效率

如果追求程序效率需要付出降低正确性、可靠性、健壮性、可读性等质量代价,那么可以放弃这部分效率的提高。

规则2:优先提高全局效率

只有整个程序的执行效率提高才有意义,把时间和精力放在某一个不常被调用的小模块优化上得不偿失。

规则3:针对瓶颈部分优化

在实际开发工作中,我们经常遇到一些程序执行时间过长,需要优化。有些人上来就开始逐行检查代码,把认为可能影响效率的地方都尽量修改一遍。这样做不仅浪费时间,更重要的是,常常修改一遍后依然看不到明显的效果。

这种情况下,正确的方法是先找出限制效率的“瓶颈”,在这个部分做有针对性的优化。这么做才事半功倍。

   规则4:先优化数据结构和算法,再优化执行代码

程序的两大要素是算法和数据结构,它们贯穿于程序的始终。因此,对它们的优化能够起到意想不到的良好效果。

规则5:时间效率和空间效率的矛盾

大多数时候,时间效率和空间效率是对立的。这就是程序设计中两个很重要的方法论,一个是“以空间换时间”,另一个是“以时间换空间”。此时应当分析那个更重要,作出适当的折中。

早间年,硬件成本比较高,人们大多都采用以时间换空间的策略,花费一些时间,减少内存开销。如今,内存条的价格已经非常便宜了,人们注重的`是软件的友好性,因此大部分时候都是用空间换时间。

规则6:代码不是越短越好

很多资深程序员都会有这样一个误区,完成同一个功能,代码越短越好。还经常有人说这样的话:“就这么个功能我几行代码就搞定了”。其实,追求代码精简是一个很大的误区。因为精简的代码并不一定产生高效的机器码。同时,它还付出了可读性这一代价。正确的做法是适当地做到代码精简。

注意事项

1. 书写错误

经常有人把“==”误写成“=”。“||”、“&&”、“<=”、“>=”这类符号也很容易发生少一个的错误。最可怕的是编译器根本发现不了这样的错误。

2. 初始化

变量(指针、数组)被创建之后应当立刻初始化,防止把未被初始化的变量当成右值使用。

3. 数值错误

这也是一类非常容易忽略的错误。变量的初值、缺省值错误,或精度不够,一旦出错不易发现。

4. 类型转换

为了避免数据类型转换的错误,我们要尽量使用显式的数据类型转换,避免在编译器中执行非我们所愿的隐式数据类型转换。

5. 溢出

溢出分两种,一种是超过数据类型取值范围的赋值,另一种是数组下标范围越界。这两种都是要时刻注意的。

7. 避免编写技巧性很高代码

技巧性过高的代码一定是可读性较差的代码,这种代码不易维护,后期的成本较高。

8. 好代码要复用,坏代码要重写

如果原有的代码质量比较好,尽量复用它。但是不要修补很差劲的代码。当我们遇到差劲代码时,最好的方法是重写新代码替换它。

9. 尽量使用标准库函数

对于标准库中有的函数,我们不要再花时间自己实现。很简单,你自己实现的一定不比库函数效率高。

10. 把编译器的选择项设置为最严格状态

只有最严格的审查自己的代码,才能写出优秀的软件产品。很多人甚至连编译过程中出现的warning都懒得处理,这种态度坚决不能有。

最主要的措施就是改进算法,如控制循环次数;多使用中间结果,减少运算次数等。

此外还可以从程序设计技术角度采取一些措施:如尽量减少值传递,多用引用来传递参数;减少减少除法运算;多用局部变量等。

●1)在系统中安装Ultra-133硬盘加速扩充卡或带有8M缓存的ATA硬盘,可以有效减少系统的启动时间。

●2)把内存增加到512M以上。

●3)确定Windows XP应用的是NTFS文件系统。检查办法 :双击"本人的计算机",在C :盘上右击鼠标,选择"属性",检查文件系统的类型。假如是FAT32,就把它转换成NTFS,办法是 :先备份所有重要的数据,然后选择"开始"菜单里的"运行",写入CMD后确认。在提示符下,写入CONVERT C : /FS :NTFS和回车。在这个过程中,最佳不要中途异常中断,并确保系统中没有病毒。

●4)关闭文件索引功可以。Windows索引服务要从硬盘上大量文件中提取信息并创建"关键字索引",假如硬盘上有数以千计的文件,这个功可以可以加快从这些文件中搜索信息的速度。但Windows创建这个索引要花费很多时间,而且大多数人从来不应用这个功可以。关闭的办法是 :双击"本人的计算机",在硬盘和下面的子文件夹上右击鼠标,选择"属性",撤销"应用索引以便迅速查找文件"。假如有警告或错误信息出现(如"拒绝访问"),点击"忽略"即可。

●5)升级主板和显卡的驱动程序,升级BIOS。

●6)每三个月左右清空Windows的预读取文件夹(Windows\Prefetch)一次。Windows把频繁应用的数据存放在预读取文件夹中,需要再次应用这些数据时就可以大大加快读取速度。但时间一长,这个文件夹中就会有大量不再应用的垃圾数据存在,反而增加了Windows的读取时间,影响了系统性可以。

●7)每个月运行一次磁盘清理程序,删除临时和无用文件。办法 :双击"本人的计算机",在C :盘上右击鼠标,选择"属性",点击"磁盘清理"按钮。

●8)在"设备管理员"中双击IDE ATA/ATAPI控制器,到Primary/Secondary IDE Channel里将所有连接设备的转输模式都设定为应用DMA(假如可用)。

●9)更加新接线.采用了新式的硬盘后,应该同时为所有IDE设备换装80线的Ultra-133线缆。假如只安装一个硬盘,那么这个硬盘应该安装在线缆的顶端,不要安装在线缆中间的那个接口,否则可可以发生信号异常。对于Ultra DMA硬盘驱动器来说,这些异常信号会影响驱动器发挥最佳性可以。

●10)清除所有spyware(间谍程序)。有很多免费软件,如AdAware,可以完成这个任务。清除后,所以包含spyware的软件都将不可以正常工作,假如确实需要其中的某个软件,就把它重新安装一遍吧。

●11)从启动组里删除不必要的程序。办法 :选择"开始"菜单里的"运行",写入"msconfig",进入"启动"选项卡,撤销不想在系统启动时加载的项目。对于不可以确定的项目,查阅一下"WinTasks Process Library"(进程库),里面包含了已知的系统进程、应用程序和spyware的描述。也可以在google等WEB搜索引擎中查找。

●12)进入控制面板中的"增加/删除程序"项,删除不必要的和不用的程序。

●13)关闭所有不必的动画和活动桌面。办法 :在控制面板中点击"系统"图标,进入"高级"选项卡,对"性可以"进行"设置",在"视觉效果"选项卡上, 选中"自定义"单选框,将相关用户界面特性设定为禁用状态。

●14)应用Tweak-XP软件编辑系统注册表,进一步提升性可以。

●15)定期访问微软Windows更加新站点,下载所有标有"Critical(重大)"标志的更加新项目。

●16)每周更加新防病毒软件。系统中最佳只安装一套防病毒软件,安装多套软件会对性可以带来不利影响。

●17)安装的字体数量不要超过500种,字体数量太多会使系统变慢。

●18)不要对硬盘分区。Windows XP的NTFS文件系统在一个比较大的分区上运行会更加有效率。以前,人们为了方便数据组织或重新安装 *** 作系统时不必格式化整个硬盘而对硬盘进行分区。在Windows XP的NTFS文件系统中,重新安装 *** 作系统已不必重新格式化分区,数据组织更加可以通过文件夹来完成。例如,不需要再把大量的数据放到另外划分的D :盘上,可以创建一个命名为"D盘"的文件夹,数据放在这个文件夹中即不影响系统性可以,又可以起到很好的组织作用。

●19)测试内存条(RAM)是否完好。建议应用免费程序MemTest86,先用这个程序制作一个启动盘,用此盘启动计算机后程序将对内存条运行10项不同的测试,每项测试进行3遍。假如测试中遇到错误,就关闭计算机,拔掉其中一根内存条(假如有多根的话),重新测试。仍掉坏的内存条,换上一根好的。

●20)假如计算机上安装了CD或DVD刻录机,有时候升级驱动程序可以使刻录速度更加快。

●21)撤销不必要的服务。Windows XP调用了许多用户可可以根本用不到的服务,这些服务不仅影响运行速度,对保护系统安全也非常不利。因此,可以根据需要禁用不必要的系统服务。办法 :选择"开始"菜单里的"运行",写入"Services.msc"打开"服务管理控制台",通过更加改服务的启动类型启动或停止该项服务。

●22)假如感觉Windows的单窗口浏览器速度比较慢,可以加以改进,办法是 :打开"本人的计算机",点击"工具"->"文件夹选项"->"查看",选中"应用独立的进程打开文件夹窗口"。这样可以避免一个较慢的设备影响用户界面的响应速度。

●23)打开机箱,把灰尘和碎片打扫干净,每年至少做一次。同时检查一下所有的风扇是否工作正常,主板上的电容器有没有膨胀或泄漏。

●提醒 :虽然"碎片整理"对提升计算机性可以作用有限,但一个没有碎片的硬盘总比一个布满碎片的硬盘消耗的功率少,况且,一旦硬盘损坏,假如硬盘上的数据连续存放,就更加容易恢复.所以,仍建议每隔一段时间(根据机器应用情况,从数月到一年不等),对硬盘做一次"碎片整理"。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/10994409.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-12
下一篇2023-05-12

发表评论

登录后才能评论

评论列表(0条)

    保存