
性能调优
文章平均质量分 60
Black.Spider
宝剑锋从磨砺出,梅花香自苦寒来
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++性能优化常用技巧
如果不需要复杂的哈希函数,仅通过数组下标的形式就能完成哈希,比如key是26个字母或者连续的数字。此时只需要定义一个数组就能实现哈希存储(自定义查找表)。原创 2025-02-27 20:37:09 · 939 阅读 · 0 评论 -
C++性能优化篇:字符串优化
虽然字符串可以动态扩容,但是每次扩容都会牺牲很大的性能,需要重新申请内存空间,然后将现有的数据拷贝到新的存储上,最后释放旧存储,这个操作非常耗时。通常情况下,我们应该需要预估一个合理的内存空间,然后一开始就分配这么大内存,从而避免频繁的扩容。C++中使用string对象来保存字符串,相较于C语言,它最大的优点就是可以动态扩容,而不需要手动管理内存。当然在带来极大便利的同时,随之而来的也可能是性能瓶颈。常见的性能问题如额外的拷贝、临时对象的生成、频繁的内存释放和分配等。原创 2025-02-26 11:49:24 · 311 阅读 · 0 评论 -
C++性能优化篇:map与unordered_map的正确使用
在一次代码修改中,我尝试了下使用unordered_map替换map来存储中间结果,发现程序耗时降低了67%,于是仔细分析了下两者的区别。两者都是C++标准库中提供的关联容器,用于存储键值对。,明显降低了复杂度。所以,在不考虑有序性和范围查找的时候,应该使用。简单分析下上述函数的时间复杂度,第一个for循环的时间复杂度为。,在处理大量数据的时候,其效率会更高。,第二个for循环的时间复杂度为。原创 2024-06-28 08:58:41 · 659 阅读 · 0 评论 -
C++性能优化篇:使用memcpy替代for循环
在做内存数据拷贝的时候,应减少循环,尤其是嵌套循环,多使用memcpy,这样既容易理解,又可以提高程序性能,何乐而不为呢?还有一种提升内存拷贝性能的方式,就是使用并行拷贝的方式。在编写程序的时候,可以考虑使用多个线程,每个线程拷贝其中一段内存。原创 2024-06-28 08:58:06 · 1171 阅读 · 0 评论 -
C++性能优化篇:深拷贝、浅拷贝与移动构造
在做性能优化的时候,遇到数据量较大的场景,减少不必要的数据拷贝,是可以极大得提高程序性能的。移动语义可以帮助我们实现在浅拷贝的同时,又能避免资源重复释放的问题。但是使用移动语义也要注意,被移动的对象在移动完成之后,不能再被使用,否则可能出现未知错误。原创 2024-06-26 17:04:37 · 710 阅读 · 0 评论 -
perf报错Workload failed: No such file or directory
哈哈哈,其实很简单,可执行程序写成。原创 2024-04-29 16:56:47 · 944 阅读 · 0 评论