gpt4 book ai didi

java - Java 中的分析是否会带来性能问题?

转载 作者:行者123 更新时间:2023-11-30 02:57:02 24 4
gpt4 key购买 nike

我定期分析我团队的高性能 Java 程序,因为低效的功能可能会导致严重的速度减慢。为此,我使用以下 Java 机器参数保持端口打开以附加 Java VisualVM:

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9011 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate =false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost

今天我突然想到:对 Java 程序进行分析(或者只是为了进行分析而保持端口打开)是否会进一步降低速度?如果是这样,某些分析方法是否比其他方法成本更高?什么样的速度降低或开销——例如运行时间的 1%、运行时间的 10%——是正常的预期?

虽然我的问题是针对更广泛的 Java 受众的,但我要指出的是,我们的程序 a 是内存较少但 CPU 密集型的模拟:具体来说,不断地进行大量小型但计算昂贵的函数调用。考虑到函数调用的绝对数量,优化在我们的例子中可能是昂贵的,但对于其他例子则不是这样?

最佳答案

does profiling a Java program

大约 10% - 30%,具体取决于您在做什么。

or simply keeping a port open for the sake of profiling

可能几乎没有开销。

is memory-light but CPU-intensive simulation: specifically, there are an enormous number of small but computationally expensive function calls being perpetually made.

我会认真考虑 FlightRecorder(来自 Java 7,在 Java 8 中更好)。这样的开销要低得多,并且 CPU 记录的细节要多得多。在 Java 8 中,您可以在不添加任何命令行参数的情况下运行它。

关于java - Java 中的分析是否会带来性能问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36975883/

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