C++程序设计中的一些效率问题

1、STL模板效率问题

 

一般使用STL模板会使得程序运行的效率减慢,因为STL模板的一些标准的数据结构都需要分配比较多的内存空间以及上下文切换的开销,有时像vector等容器在程序运行过程中,如果发生容量不足时,它需要重复分配更大的内存,并把原来的内容拷贝过去,这一点是非常耗时的。

另外一点,如果使用STL模板尽量使得某个数据结构全局共享,否则的话,每次定义一个局部的数据结构,都要重新分配内存,非常耗时。

本质上是这样的概念,尽量在程序运行之前先申请好内存空间,不要在程序运行过程中不断申请,这样系统需要不断地进行上下文切换的开销。另外对于像vector这样动态分配存储空间的容器,如果问题允许的额话,就直接预定义它的空间大小

 

2、输入输出效率问题

 

当存在大量输入输出时,不要使用流输入输出,否则程序执行的速度很受牵制。
可以使用使用C语言中的输入输出操作。(我在一个有较大输入和输出的程序中对比了一下两种输入输出方式,发现使用C语言的输出输入函数使得程序执行速度提高了将近800MS)

 

有空整理一下:

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值