c++ - 运行相同的代码,旧计算机和新计算机一样快,这是真的吗?
问题描述
我一直在学习 c++ 中的并行编程,并且从一所大学中找到了资料。他们在讲座中说:
“使用旧代码,2021 年的计算机不会比 2000 年的计算机快。在本课程中,我们将学习如何编写以现代计算机为设计理念的新代码。” 关联
等待教授的回答,我想在这里发布我的问题。
真的吗?在什么条件下?旧代码是什么意思?顺序代码?
在讲座中,他们谈到了 CPU 的时钟速度,并提到它自 2000 年代以来就没有改变过。这足以说明旧计算机与新计算机一样快吗?
解决方案
真的吗?在什么条件下?
确实,处理器的时钟速度自 2005 年以来一直没有增加(同时下降了)。
这并不是说单核挂钟性能没有提高。在那之前很久,每条指令都需要一个时钟来处理。有一条指令管道,一次“进行中”多个计算。与旧处理器相比,新处理器执行相同指令流所需的周期更少。
内存的速度也有所提高,处理器有更多的片上内存。不适合 P4 缓存的程序和数据可能适合当前一代的核心,当它们必须从 RAM 中获取时,它们等待的时间更少。
事实是,自那个时代以来处理器的一项重大改进是在单个芯片上增加内核,而使用这种性能并不像“等待明年更快的处理器”那么简单
推荐阅读
- node.js - 如何在 Firestore Web 界面中使用数组包含
- java - 使用 Java 8 将列表对象中的属性断言为 null
- javascript - Javascript检查二维数组更新中是否存在值,否则创建
- python - 为什么 plt.imshow() 在 matplotlib 中不起作用
- jsplumb - 无法在 jsplumb 中创建直连接器
- scala - 如何比较不同类的属性值?
- javascript - 使用 Vue.$set 时生成缺少的嵌套对象
- javascript - 谷歌地图 API 和 JavaScript 问题
- css - 是否可以为以下设计设置多个值的单个复选框?
- python - 如何在不使用 sum 内置函数和使用嵌套循环的情况下添加嵌套列表的值