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?