《深入理解计算机系统》一刷(2023.10.16)

但如果一些数据你可以调用,但是不能知道它的值是什么怎么办呢?应该是不可能的,可以用,就可以读,可不可写才是安全性的重点吧。或许。

我不记得卡诺图是如何化简的了,但是,会不会他有化简指令的能力?把100个指令同时塞进去,经过化简变成几个指令,这不就是一种优化吗?或许。

我明显是对逻辑的理解更深刻一些,对于硬件是如何工作的理解不多。

把重复的部分抽出来打包。我现在脑袋里想的就是这个。

溢出处理也是一个安全部分较为重要的地方,难哦。

改变计算次序而提高运算速度或者运算精度的方法,我想了两个,一个是秦九韶;一个是把数据排序后再做计算,可以减少大数吃掉小数后的损失。

学到的是,当对需要不断更新的值做乘法时,可以把已知部分括起来,让他们先行计算而不需要等待这个更新值,可以降低延迟。

用冒号问号的句式做数据交换,是一种基于条件数据传送的手段。它有好有坏我不好掌握,但是,应该先好好习惯冒号问号的代码书写格式。

那种预测机制也不明白,只能举个应用场合的例子,当一个数不断自加直到被上限挡住为止,这个过程预测出错只会出现在最开始和结尾,中间一直是否,预测起来不会出错。

更深的地方就挖不动了,先这样。

如何更快?硬件多数时间都在做加减乘除,再干活,而不是把过多时间浪费在跑来跑去。

增加限制条件,然后去掉冗余的限制条件。

放东西就是这个道理,越常用的越要放在能快速拿的地方。我们的世界不是游戏里抽象的仓库,而是具有一个存储的层次结构,有远近难易之分。

有记忆的统计来自于局部性,它认为已有之事后必再有,已行之事后必再行。我之前觉得有道理,后来觉得也未必,有些东西摒弃掉了就是摒弃掉了,可能会在别的个体上持续发生,但在单个个体上未必。这有点算是抬杠了,总之呢,局部性可以大大提高性能。

本小章还未完,请点击下一页继续阅读后面精彩内容!

无条件跳跃可能导致死循环啊,或者莫名其妙鬼畜起来了。虽然对于复杂的过程来说,未知错误是难免的,但还是尽可能把会出错的地方修补一番,然后在关键的地方用try与catch。