Người ta nói rằng Java nhanh hơn 10x so với python về hiệu suất. Đó là những gì tôi thấy từ điểm chuẩn. Nhưng những gì thực sự mang lại Java là thời gian khởi động JVM.Bất kỳ cách nào để tăng tốc độ khởi động JVM?
Đây là một thử nghiệm tôi đã thực hiện:
$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
Cùng tập tin, 12 KB ms XLSX nhúng tập tin bên trong Docx và Python là 25x nhanh hơn !! WTH !!
Mất 2.055 giây cho Java.
Tôi biết đó là tất cả do thời gian khởi động, nhưng những gì tôi cần là tôi cần phải gọi nó thông qua một kịch bản để phân tích một số tài liệu mà tôi không muốn phát minh lại bánh xe trong python.
Nhưng khi phân tích 10k + file, nó chỉ là không thực tế ..
Dù sao để tăng tốc độ nó lên (Tôi đã cố gắng lựa chọn -Khách hàng và nó chỉ tăng tốc độ bởi rất ít (20%)).
Ý tưởng khác của tôi? Chạy nó như một daemon chạy dài, giao tiếp bằng cách sử dụng ổ cắm UDP hoặc Linux-ICP cục bộ?
Không thể tin rằng không ai đã đề cập ** sử dụng phiên bản Java mới nhất ** – artbristol
có thể trùng lặp của [Làm thế nào để tăng tốc thời gian khởi động Java VM (JVM)?] (Http://stackoverflow.com/questions/1491325/how-to-speed-up-java-vm-jvm-startup-time) –