gpt4 book ai didi

java - 在具有 60Gb RAM 的机器上执行顺序算法的效率

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:22:30 24 4
gpt4 key购买 nike

与具有 16Gb RAM 的双核机器相比,用 Java 编写的顺序算法在具有 60Gb RAM 和 16 核的机器上执行速度是否更快(在 Eclipse 中)?我预计该算法确实会运行得更快,但在 Google Compute Engine 和我的笔记本电脑上进行的实验表明这不是事实。如果有人能解释为什么会这样,我将不胜感激。

最佳答案

Java 不会自动为您并行化代码,您需要自己完成。

有一些像parallel streams 这样的抽象可以提供简洁的并行性,但程序的性能仍受制于Amdahl's law 。 .拥有更多内存将有助于启动更多线程和应用并行算法以利用更多内核。

示例:

  • Arrays.sort 是一种顺序双轴快速排序,运行时间为 O(nlgn),其整体性能由时钟频率控制。 p>

  • Arrays.parallelSort 是并行合并排序,它使用更多的空间(所以这里内存很重要),它将数组分成几部分,然后对每一部分进行排序并合并它们。

但是,为了从多核机器中获益,必须有人编写这种并行排序。

可以为您自动完成的是高度并发和并行的 GC,它会影响程序的整体性能。

关于java - 在具有 60Gb RAM 的机器上执行顺序算法的效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34634971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com