【发布时间】:2015-11-16 22:57:34
【问题描述】:
我目前正在进行遗传编程方面的一些研究,但我(还)无法访问多台计算机,因此我可以执行聚合计算。目前,在我的家用桌面上进行研究只需要大约 1.5 小时,所以这不是难以忍受的,但随着分析变得更加先进,我预计数据量会显着增加。
在这些条件下,我们可以通过哪些方式优化 Java 对处理器的使用?
【问题讨论】:
-
首先优化您(未发布的)代码中的关键路径。然后,寻找更好的算法。
-
分析您的代码以分析其大部分时间花费在哪里。这可以指导您尝试优化哪些部分。
-
配置内存使用和 GC 活动。有时,仅仅增加 VM 的堆大小就可以取得很大的成功。
-
另见Amdahl's law。
-
我也建议你使用 Flight Recorder 而不是 VisualVM。它更准确,而且它的 CPU 分析往往更好(因为它不使用仪器或 JMX)
标签: java micro-optimization genetic-programming