有什么方法可以提高JVM启动速度吗?

2022-09-02 09:47:43

据说Java在性能方面比python快10倍。这也是我从基准测试中看到的。但真正让Java失望的是JVM启动时间。

这是我做的一个测试:

$time xlsx2csv.py Types\ of\ ESI\ v2.doc-emb-Package-9
...
<output skipped>
real    0m0.085s
user    0m0.072s
sys     0m0.013s


$time java  -jar -client /usr/local/bin/tika-app-0.7.jar -m Types\ of\ ESI\ v2.doc-emb-Package-9

real    0m2.055s
user    0m2.433s
sys     0m0.078s

相同的文件,Docx和Python内部的12 KB ms XLSX嵌入式文件速度快25倍!哇!!

Java 需要 2.055 秒。

我知道这都是由于启动时间,但我需要的是我需要通过脚本调用它来解析一些我不想在python中重新发明轮子的文档。

但是要解析10k +文件,这是不切实际的。

无论如何,为了加快速度(我已经尝试过-client选项,它只会加速这么快(20%))。

我的另一个想法?将其作为长时间运行的守护程序运行,在本地使用UDP或Linux-ICP套接字进行通信?


答案 1

试试钉枪

注意:我个人不使用它。


答案 2

今天刚刚了解了滴水,作为射钉枪的替代替代品:https://github.com/flatland/drip 另请参阅此页面以获取一些一般提示:另请参阅 https://github.com/jruby/jruby/wiki/Improving-startup-time


推荐