优化代码

简介: 下图是老师在标准库中看到的一段代码的伪代码。问我们怎么优化。老师说,c++程序员要对性能有敏感性。有时候开源库性能进行了提升,并不一定是因为有了什么大改进,可能只是因为改进了类似下图中的代码而已。

下图是老师在标准库中看到的一段代码的伪代码。问我们怎么优化。

老师说,c++程序员要对性能有敏感性

有时候开源库性能进行了提升,并不一定是因为有了什么大改进,可能只是因为改进了类似下图中的代码而已。

在这里感谢群里的小伙伴帮忙提出很多宝贵的修改意见。

 

优化点:

1、用底层为hash表的unordered_map,而不是用底层是红黑树的map。查找和插入的时间复杂度会降低。

2、既然用了map,就不要用for循环来查找,直接用map.find()方法

3、尽量不使用=,会有不必要的临时变量。用move好一些。(偷偷查了一下,move是c++11的新特性,博主又发现了一片未知领域

4、for循环的话,变量应尽量声明为引用

for (auto &obj : object)

不需要改变元素内容的话加上const就更好了
 

相关文章
|
4月前
在代码优化过程中,常见的错误和bug包括以下几点
在代码优化过程中,常见的错误和bug包括以下几点
|
3月前
|
算法 程序员 PHP
编写魅力十足的代码:优化可读性、维护性和性能的关键
本篇汇总了平时在工作开发中常遇到的业务逻辑的优雅写法,也汇总了自己还是新人时,拿到一个业务不知道怎么下手的痛点,依稀记得那时候总感觉自己写的代码不规范。 写完之后,感觉还是美好的,又学到东西了。
|
4月前
|
C++
代码优化方式一
代码优化方式一
|
6月前
|
缓存 Java 编译器
探究Java方法的优化与最佳实践:提升性能与代码可维护性
探究Java方法的优化与最佳实践:提升性能与代码可维护性
|
6月前
优化if-else代码的几种方案
优化if-else代码的几种方案
|
7月前
|
测试技术
代码为啥不能过度优化
代码为啥不能过度优化
40 0
|
9月前
|
Java 编译器 应用服务中间件
代码开发优化细节
带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final,则该类所有的方法都是final的。Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,具体参见Java运行期优化。此举能够使性能平均提高50% 。
188 2
代码开发优化细节