java 不是被调用多次的短流程吗?

Is java not to be used for short processes that are called many times?

简介

我打算在Java中写一个算法(这样我就可以学习这门语言)运行时间应该在几秒钟左右。这个小算法将从 bash.

被调用大约 10,000 次

问题

很难预测在运行时会发生什么优化,但如果每次调用都重新启动该进程并且只运行几秒钟,那么它几乎不会产生任何影响。编译式优化不会受到影响,但运行时优化可能会受到影响。然而,JVM本身的启动时间将压倒任何好处。

此外,如果程序本身很小并且算法正确,运行时优化器可能几乎无能为力。

现阶段的微优化效果不佳。您是否有 任何 测量过程的每个部分需要多长时间?如果没有,您怎么知道是否有任何努力有帮助,甚至哪里有瓶颈?

在这种情况下,最好的办法是消除 JVM 启动时间这一因素。例如,将您的 Java 程序设置为服务器并通过服务调用从 shell 脚本调用它。程序最慢的部分消失了,JVM 可以累积多次使用的统计信息。