Alguma maneira de aumentar a velocidade de inicialização da JVM?

Diz-se que o Java é 10x mais rápido que o python em termos de desempenho. É o que também vejo nos benchmarks. Mas o que realmente reduz o Java é o tempo de inicialização da JVM.

Este é um teste que eu fiz:

$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

Mesmo arquivo, um arquivo incorporado XLSX de 12 KB ms dentro do Docx e Python é 25x mais rápido! WTH !!

Demora 2.055 segundos para Java.

Sei que tudo se deve ao tempo de inicialização, mas o que preciso é chamá-lo por meio de um script para analisar alguns documentos que não quero reinventar a roda em python.

Mas, como analisar arquivos com mais de 10k, não é prático.

De qualquer forma, para acelerar isso (eu já tentei a opção -client e ele só acelera em tão pouco (20%)).

Minha outra ideia? Executá-lo como um daemon de longa execução, comunicar-se usando soquetes UDP ou Linux-ICP localmente?

questionAnswers(6)

yourAnswerToTheQuestion