据说
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
相同的文件,一个12 KB的XLSX嵌入式文件里面的Docx和Python是25倍更快! WTH!
Java需要2.055秒.
我知道这是由于启动时间,但我需要的是我需要通过一个脚本来调用它来解析一些我不想在python中重新发明轮子的文档.
但是为了解析10k文件,只是不实用
无论如何加速(我已经尝试 – 客户端选项,它只加快了这么少(20%)).
我的另一个想法?运行它作为一个长期运行的守护进程,使用UDP或Linux-ICP套接字在本地进行通信?
解决方法
尝试
Nailgun.
注意:我不会亲自使用它.