上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页
摘要: 优化算法 多数优化方法的性能改善效果是线性的,但是使用更高效的算法替换低效算法可以使性能呈现指数增长。设计高效算法是许多计算机科学教科书和博士学术论文的主题。计算机科学家之所以研究重要的算法和数据结构,是因为它们是展示如何优化代码的典型示例。 算法的时间开销 算法的时间开销是一个抽象的数学函数,它描 阅读全文
posted @ 2020-04-15 19:20 睿阳 阅读(675) 评论(0) 推荐(0) 编辑
摘要: 优化字符串的使用:案例研究 C++的std::string类模板是C++标准库中使用最广泛的特性之一。只要操作字符串的代码会被频繁地执行,那么就有优化的用武之地。 为什么字符串很麻烦 字符串在概念上很简单,但是想要实现高效的字符串却非常微妙。由于std::string中特性的特定组合的交互方式,使得 阅读全文
posted @ 2020-04-13 13:10 睿阳 阅读(616) 评论(0) 推荐(0) 编辑
摘要: 测量性能 测量和实验是所有改善程序性能尝试的基础。最基本和最频繁地执行的软件性能测量会告诉我们“需要多长时间”。执行函数需要多长时间?从磁盘读取配置文件需要多长时间?启动和退出程序需要多长时间? 本章将介绍两种测量性能的工具软件: 1. 分析器 (profiler):编译器厂商通常在编译器中都会提供 阅读全文
posted @ 2020-03-19 18:32 睿阳 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 影响优化的计算机行为 所有这些被广泛使用的计算机都会执行存储在内存中的指令。指令所操作的数据也是存在在内存中的。内存被分为许多小的 字 (Word),这些字由若干 位 (bit)组成。其中一小部分宝贵的内存字是 寄存器 (register),它们的名字被直接定义在机器指令中。其他绝大多数内存字则都是 阅读全文
posted @ 2020-03-04 19:20 睿阳 阅读(252) 评论(0) 推荐(0) 编辑
摘要: https://wenku.baidu.com/view/9c8ccf22af45b307e87197ed.html 阅读全文
posted @ 2020-03-04 17:12 睿阳 阅读(1051) 评论(0) 推荐(0) 编辑
摘要: 优化概述 许多优化机会的出现源于某些C特性被无用而导致程序运行缓慢、消耗许多资源,这些代码虽然是正确的,却不完善。这些代码往往是因为开发人员缺乏现代微处理器设备的基本常识,或是没有仔细考虑各种C对象构建方式的性能开销而编写出的。可进行优化的另外一个原因是,C++提供了对内存管理和复制的精准控制功能。 阅读全文
posted @ 2020-01-08 19:24 睿阳 阅读(819) 评论(0) 推荐(0) 编辑
摘要: const Iterator,就是不能改变的迭代器,比如 iter是一个常量,因此是不能改变的。换句话说,iter只能指向vv的第一个元素,不能指向其他的元素。 虽然iter不能指向其他的元素,但是其指向的元素的值是可以改变的。 以下是错误的: 以下是正确的: 而对于const_iterator来说 阅读全文
posted @ 2020-01-08 18:22 睿阳 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 正反向迭代器的应用 正向迭代器可以用于正向遍历,反向迭代器则便于反向遍历。 但若要进行插入与删除操作,则只有正向迭代器可以做到。 但有时,我们需要反向查找到一个位置并进行插入与删除操作。 此时需要进行正反向迭代器的转换。 正反向迭代器的转换 reverse_iterator与iterator都继承自 阅读全文
posted @ 2020-01-06 19:08 睿阳 阅读(472) 评论(0) 推荐(0) 编辑
摘要: API用法详见:https://docs.microsoft.com/zh cn/windows/win32/api/profileapi/ 下面为封装好的计时类: ` ` 阅读全文
posted @ 2020-01-06 18:26 睿阳 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 动态链接 1. 为什么要动态链接 静态链接使得不同的程序开发者和部门能够相对独立地开发和测试自己的程序模块,从某种意义上来讲大大促进了程序开发的效率,原先限制程序的规模也随之扩大。但是慢慢地静态链接的诸多缺点也逐步暴露出来,比如浪费内存和磁盘空间、模块更新困难等问题,使得人们不得不寻找一种更好的方式 阅读全文
posted @ 2019-12-24 19:50 睿阳 阅读(767) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页