有没有一种方法可以使用Java代码对计算机进行基准测试?

3

我是Java开发人员,我的目标是了解哪种计算机最适合进行某些统计评估。我有3台不同操作系统的台式机(Windows 7、MacOS、Ubuntu)。 基于JVM的程序似乎最适合这个基准测试。 是否有一些基于Maven的包可以放入依赖中,并在所有这些台式机上运行以获取HDD / CPU / Memory基准测试?

问题是关于提供CPU / IO / memory基准测试的Java库...

1个回答

4
据我所知,用于“某些统计评估”的目的对于有意义的基准测试来说过于宽泛。实际上,唯一有意义的方法应该是:
1. 选择要使用的统计应用程序。 2. 选择一堆具有代表性的问题;即那些通常与你将要处理的问题相似……无论是在质量和“规模”方面。 3. 使用所选的应用程序编写解决方案。 4. 运行解决方案并测量所用时间。 5. 调整解决方案/应用程序并重复上一步,直到满意为止,即达到最佳性能。 6. 在候选机器上运行应用程序。 7. 比较所有问题在所有机器上的时间。
我认为,除非你试图在配置较低的机器上运行大型分析,否则选择哪个操作系统不会产生太大影响。关键问题可能是使用足够快的机器和足够的内存(如果分析需要大量内存),选择正确的应用程序,正确编写解决方案并调整应用程序。选择操作系统可能并不重要……除非你使内存负载过高。
如果您认为可以找到一个有意义的基准测试,以比较不同操作系统之间的应用程序级性能,请去寻找。如果您认为这样的基准测试将给出适用于运行Java统计分析工具的数字,请随意使用。提示:像SUperPI、3DMark等操作系统特定的基准测试并不是预测运行应用程序性能的好方法。
如果您认为Java应用程序性能只与磁盘读/写、内存读/写和基本算术指令速度有关,请继续这样相信。不幸的是,现实情况非常不同。
但我的猜测是,在硬件足够的情况下,选择哪个操作系统对于性能影响不大。

我不同意。如果你所说的是正确的,那么就不会有SuperPI、3DMark等软件存在了。这些软件的唯一问题在于它们只适用于特定操作系统,因此我只能比较两台Windows笔记本电脑。性能可以通过基本操作来轻松测量,例如磁盘/内存读写和算术运算。这实际上是计算机可能操作的宇宙。 - yura
好的,我明白你的意思。无论如何,标准基准测试(例如superPI)都是有用的,而且平台无关更有用。所以问题是关于提供CPU / IO / memory基准测试的Java包... - yura
答案是我不知道有任何的。 - Stephen C

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接