CSAPP3e第五章(优化程序性能)
第五章 优化程序性能(摘要与注解)
我错了,我明天一定把这一篇补完
我对了,我今天把这一篇补完了
感觉是本书最难理解和应用的一章, 所以得多花点功夫尽可能深入理解了然后写的好一点
我错了,我明天一定把这一篇补完
我对了,我今天把这一篇补完了
感觉是本书最难理解和应用的一章, 所以得多花点功夫尽可能深入理解了然后写的好一点
这一章也很好理解, 重点解释一些不太好理解或者书上介绍不是很清楚的地方, 然后列大纲用于以后复习看。
当前存储技术主要可以做以下分类:
L1/L2/L3
缓存,
每个单元是六晶体管电路这章内容很短, 就是书中和 15213 都有意隐去了很多细节, 自己去理解思考这些细节会很麻烦
另外 section 的翻译易引起歧义, 这里不作翻译
静态链接包括两个阶段, 符号解析和重定位:
在做 Codeforces Educational Round 169 D Colored Portals 时,需要找到 i 前面距离 i 最近的颜色不完全相同但也不完全不同的 j,我随手写了个
1 | const vector<string> type = {"BG", "BR", "BY", "GR", "GY", "RY"}; |
然后吐槽了下 C++ 没有 .iter().filter()
或者
.iter().map()
这种写法
于是我就建了个 D.rs 写了个 Rust 版本的:
1 | use std::collections::HashMap; |
无符号的数的加法溢出规则很简单, 单纯截取后 \(w\) 位, 或称对 \(2^w\) 取模。因此:
\[ x\ +_w^u\ y = \begin{cases} x + y, & x + y < 2^w, \\ x + y - 2^w, & 2^w \leq x + y < 2^{w+1}. \end{cases} \]
(\(+_w^u\) 表示最多 \(w\) 位下的二进制无符号数加法。下文\(+_w^t\) 即 \(w\) 位补码加法)
博客还没装 Mathjax 插件,所以下面的 \(\LaTeX\) 应该都是乱的 已修
这一段如果没有目的和顺序地硬看会觉得关系很多很复杂,但其实只要按照一定的目的和顺序结构就会很清晰。