Si dice che Java sia 10 volte più veloce di Python in termini di prestazioni. Questo è quello che vedo anche dai benchmark. Ma ciò che realmente blocca Java è il tempo di avvio della JVM.Un modo per aumentare la velocità di avvio JVM?
Questo è un test che ho fatto:
$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
stesso file, un file incorporato 12 KB ms XLSX all'interno Docx e Python è 25x più veloce !! WTH !!
Ci vuole 2.055 sec per Java.
So che è tutto dovuto al tempo di avvio, ma quello che mi serve è che ho bisogno di chiamarlo tramite uno script per analizzare alcuni documenti che non voglio re-inventare la ruota in python.
Ma, come per analizzare 10k + file, è solo che non pratico ..
Comunque per accelerarlo (ho già provato l'opzione -client e che accelerare da così poco (20%)).
mio un'altra idea? Eseguirlo come demone a esecuzione prolungata, comunicare utilizzando socket UDP o Linux-ICP localmente?
Non riesco a credere che nessuno abbia menzionato ** utilizzare l'ultima versione di Java ** – artbristol
possibile duplicato di [Come velocizzare l'avvio di Java VM (JVM)?] (Http://stackoverflow.com/questions/1491325/how-to-speed-up-java-vm-jvm-startup-time) –