Helping compiler help you : Ispike, BOLT

Helping compiler  help you : Ispike, BOLT
《BOLT: A Practical Binary Optimizer for Data Centers and Beyond》 CGO 2019 《Ispike: A Post-link Optimizer for the IntelR ItaniumR Architectur》 CGO 2004   Helping compiler help you 现在数据中心跑的程序二进制文件普遍都比较大而且代码逻辑比较复杂,因此编译过程的优化在很多情况下能够显著提升性能。编译优化是一种 helping compiler help you的方式。 编译优化常见的几种优化技术...

搭建Linux内核调试环境

搭建Linux内核调试环境
  这篇文章介绍下在MacOSX如何用gdb + vmware的方式调试Linux内核。   一:安装Vmware Fusion   二:安装gdb 注意这里需要安装高版本的gdb,这里安装的是8.2版本 123456 wget http://ftp.gnu.org/gnu/gdb/gdb-8.2.tar.gztar xf gdb-8.2.tar.gzcd gdb-8.2./configure --build=x86_64-apple-darwin14.0.0 --target=x86_64-vfs-lin...

代码整洁之道 读书笔记

代码整洁之道 读书笔记
Chapter 1 整洁代码 Lebanc's Law: later equals never. Chapter 2 有意义的命名 Chapter 3 函数 每个函数一个抽象层级 Chapter 4 注释 Chapter 5 格式 Chapter 6 对象和数据结构 Chapter 7 错误处理 Chapter 8 边界 Chapter 9 单元测试 Chapter 10 类 Chapter 11 系统 Chapter 12 迭进 Chapter 13 ...

人月神话 读书笔记

人月神话 读书笔记
最近听到一个度量软件复杂度的概念,叫decoupling level,想起来以前买过一本《人月神话》,这两天把它从书堆里面翻出来了。虽然书有300多页,不过里面大部分观点,我想从业者应该都认可,因此书里的新东西并不多。 Chapter 1: 焦油坑 职业的乐趣:工作的创造性;产品有价值;零件正常运转的魅力;持续学习的快乐。 职业的苦恼:追求完美;他人设定目标;寻找bug是痛苦的。 Chapter 2: 人月神话 在很多项...

Deep Class

Deep Class

最近看了个有趣的talk:"A Philosophy of Software Design" by John Ousterhout。
如果要选一个概念,贯穿整个计算机系统,应该选哪个呢?
John Ousterhout问过Donald Knuth,Knuth给的答案是layers of abstraction。
John Ousterhout自己觉得是problem decomposition,要注意隔离复杂度。