问题标签 [moores-law]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
parallel-processing - 为什么摩尔定律需要并行计算?
这是我的一本 CS 教科书中的一个问题。我很茫然。我不明白为什么它必然会导致并行计算。有人想指出我正确的方向吗?
optimization - 优化代码会变得不必要吗?
如果摩尔定律成立,并且 CPU/GPU 变得越来越快,那么软件(以及相关的软件开发人员)是否仍会突破界限,以至于您仍需要优化代码?或者一个天真的阶乘解决方案是否足以满足您的代码(等)?
strong-typing - (强与弱)类型和(静态与动态)类型语言和摩尔定律
不知道有多少人面临这个问题。如果我用弱/动态类型语言(如 python、php、javascript)进行编程几天,我会失去与 c++、Java、.net 等强类型语言的联系。我最近听说了人们喜欢编程的 python 和 ruby 之类的语言。
使用弱/动态类型的语言进行编程非常容易,但存在与 c++、Java 等语言失去联系的危险。处理器现在变得非常强大,根据摩尔定律,它会随着时间成倍增加速度。所以效率可能不是问题,因为当我们从嵌入式转向高级语言(如 c++、java)时会发生类似的事情。
- 那么世界是否正在转向弱/动态类型的语言?
- 弱/动态类型语言将来会取代强类型语言吗?
- 是否有任何领域必须使用强类型语言并且不能在当前时间以及不久的将来替换?
algorithm - What is the platform independent algorithm that returns a measurable value to test Moore's Law?
Just because of curiosity...
Is there a platform independent algorithm that produces a comparable value; so that I can
implement the algorith on different machines that were introduced to the market bi-yearly
and see how does it fit with Moore's Law by checking the returned values of the algorithm
in those machines?
multithreading - 火花产生多少开销?
“并行和并发编程”中的这张图:http ://chimera.labs.oreilly.com/books/1230000000929/ch03.html#fig_kmeans-granularity起初似乎表明火花过多会产生严重的开销。但是,如果您仔细查看 y 轴,您会注意到它已被放大到有趣的部分。事实上,显示的最佳和最差情况性能之间的比率约为 80%,这还不算太差。
一般来说,弄清楚如何分块以及分块的数量是困难的、容易出错的、极其特定于应用程序的,并且明年当你购买一台具有更强处理能力的新计算机时可能会发生变化。我更愿意始终将 rpar 与最细粒度的项目一起使用,并承受 25% 的开销。
引发火花的开销通常会产生比此图中显示的更糟糕的成本吗?(特别是如果我总是折叠二叉树而不是列表,所以关于“顺序工作量”的第二个要点不适用)
针对唐斯图尔特的回答更新了问题:
火花池是否只包含一个所有处理器都难以访问的队列?还是有很多?
例如,如果我有一台具有无限处理器和二叉树的计算机,并且我想对所有叶子求和,如下所示:
这个程序会在 O(#leaves) 时间内运行吗?还是 O(深度)时间?有没有更好的方法来写这个?
如果我抽象太多而无法获得满意的答案,请告诉我。我对 haskell 并行性如何工作的心智模型仍然非常模糊。
cpu - 如何计算标准化的 CPU 利用率?
我找到了这篇论文https://d0.awsstatic.com/whitepapers/Demystifying_vCPUs.pdf。他们有一种有意义的方法,但我无法协调给定的示例。
它的要点是等式2。
(.) = [# × # × .× × ()]
()
摩尔定律方程在哪里。
还有一个关于核心数量的注释。如果启用了超线程,则 CPU 内核或 vCPU 的数量应加倍。尽管在表 5 中为什么 vCPU 除以 2,但我无法调和。
我最初的想法是表 5 除以 2,因为表 2 没有加倍。我的另一个想法是等式 2 是物理内核的一般等式,因此#CPU x #Core
在虚拟机的情况下,应根据 vCPU:pCPU 的“超额订阅”进行调整。想法?