我有一个项目,我需要能够测量 CPU 和内存空间的效率,这些函数作为文本接收并在运行时使用 Java Compiler API 进行编译。
我正在使用 ThreadMXBean 来测量运行时间。有更好/更准确的方法吗?
ManagementFactory.getThreadMXBean().getCurrentThreadCpuTime();
我需要的是关于如何测量所用内存的建议。理想情况下,我想了解每项任务及其规模。但是我可以精确计算代码使用的字节数。
每一段代码都需要自动编译、测试、运行和评估。因此,使用 Profiler 并查看自己不是一种选择。欢迎您指出我的任何建议、可能的方法、资源或工具。
我需要说明这一点。这不是一次性的过程。它是网络应用程序的主要服务,可即时接收、编译、分析和评分已实现的功能。在挑选时,我预计会有 100 个并发作业在进行。使用外部工具进行一次或手动监控的过程不是我的目标。
我再说一遍:我想这样做as a service
。它不是为了测试我的应用程序或分析它们。
我不咬人(或者因为我们在 SO 上投反对票),所以任何严肃的建议都会获得赞成票。
状态更新:这个项目被搁置,因为我没有可靠的方法来进行内存使用测量。我目前正在研究 JVM 世界之外的其他语言/框架也可以这样做。即便如此,我仍在积极寻求建议和研究这个项目。