深入理解计算机系统9个重点笔记

引言

深入理解计算机系统,对我来说是部大块头。说实话,我没有从头到尾完完整整的全部看完,而是选择性的看了一些我自认为重要的或感兴趣的章节,也从中获益良多,看清楚了计算机系统的一些本质东西或原理性的内容,这对每个想要深入学习编程的程序员来说都是至关重要的。只有很好的理解了系统到底是如何运行我们代码的,我们才能针对系统的特点写出高质量、高效率的代码来。这本书我以后还需要多研究几遍,今天就先总结下书中我已学到的几点知识。


重点笔记

  1. 编写高效的程序需要下面几类活动:

    • 选择一组合适的算法和数据结构。这是很重要的,好的数据结构有时能帮助更快的实现某些算法,这也要求编程人员能够熟知各种常用的数据结构和算法。
    • 编写出使编译器能够有效优化以转换成高效可执行的源代码。因此,理解编译器优化的能力和局限性是很重要的。编写程序方式中看上去只是一点小小的变动,都会引起编译器优化方式很大的变化。有些编程语言比其他语言容易优化得多。C语言的某些特性,例如执行指针运算和强制类型转换的能力,使得编译器很难对其进行优化。
    • 并行技术,针对处理运算量特别大的计算,将一个任务分成多个部分,这些部分可以在多核和多处理器的某种组合上并行地计算。
  2. 让编译器展开循环
    说到程序优化,很多人都会提到循环展开技术。现在编译器可以很容易地执行循环展开,只要优化级

  • 16
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值