编程珠玑--------第六章习题笔记

本章讨论了关于提高程序性能的一些看法,阐述了几个原理:
1. 计算机系统中最廉价、最快速且最可靠的元件是根本不存在的。
2. 如果仅需要较小的加速,就对效果最佳的层面做改进。
3. 如果需要较大的加速,就对多个层面做改进。

下面的总结是对设计层面的直观导引:

1.问题的定义
2.系统结构
3.算法和数据结构
4.代码调优
5.系统软件
6.硬件

6.1

n2约等于31,nlogn解方程2/n*log2 n = 1/1000,这里我假设n的规模为2

6.2

这个问题我暂时回答不了缺乏相应的算法知识,快速傅立叶变换

6.3

double不仅数据是float的两倍,而且同样大小的寄存器可以同时存放的double数量要比float数量少一半,因此并行之后float就会比double快很多。这里我觉得涉及不同cpu的指令集不同,在运算上的支持情况也不一样,只能针对特定cpu探讨。

6.4

健壮性的体会比较深刻,在以前一个纯js写的项目中因为代码没有什么防御性null什么的就不说了,也没有主动去捕获过异常,模块的通用性也不够,耦合度太高。

6.5

这个我没有开发中大型项目的经验不好说,需要一定的项目经验积累,没法从书上学到。

6.6

一定意义上正确,在一些效率显得不是很重要的情况下保证正确性当然是首当其冲的,在一些条件下没有效率有正确性也没用,举个例子你看个电影要缓冲一天你还有兴致一直等着吗,所以一个系统一定是效率和正确性的折中,在保证关键点正确性的情况下,提高性能。

6.7

1.在有经济能力的条件下给自己买保险。
2.调节好心态,积极进行康复治疗,努力从身心上快速回复。
3.安抚好关心自己的人,让他们知道自己在逐渐好转。

reference:
《Multiplicative speedup of systems》——Allen Newell

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值