首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更多的内核与更频繁的Java

更多的内核与更频繁的Java
EN

Stack Overflow用户
提问于 2011-04-04 19:20:22
回答 5查看 2.3K关注 0票数 0

对于大量多线程的Java服务器应用程序,更推荐使用更多的CPU核心(6个而不是4个),或者更高的CPU频率(2.53 Ghz而不是2.4 Ghz)。

在我看来,显然更多的核心是要走的路,但我想听听另一种意见。

谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-04-04 19:29:15

如果您的应用程序具有很好的伸缩性,那么在比较相同架构的机器时,您可以假定用于比较的处理能力是speed * cores

基于这些假设,您的吞吐量可能与

  • 4 * 2.53 = 10.12
  • 6 * 2.4 = 14.4

6核系统的吞吐量最高可提高40%。

但是,为了比较相似但不相同架构的CPU,我建议您查看CPU的SPEC_int_rate或SPEC_fp_rate。(仅在浮点密集时才使用后者,如果不确定,则不使用后者;)

票数 2
EN

Stack Overflow用户

发布于 2011-04-04 19:24:19

既然你说“大量多线程”,我会说更多的核心是首选。更高的时钟速度将意味着线程更快的上下文切换。如果你的算法是并行化的,我会说更多的核心会给你带来更大的提升。

票数 5
EN

Stack Overflow用户

发布于 2011-04-04 19:24:25

如果您的应用程序当前是CPU受限的,并且如果很容易增加执行计算工作的并行线程的数量(即它们之间的依赖性最小),那么您将从增加内核数量中受益。

如果这两个都不是真的(例如,如果您的大多数线程都用于处理磁盘、网络或用户IO),那么无论哪种方式,您都看不到太多好处。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5537733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档