2010-02-16 9 views
5

Tengo un proyecto que actualmente ejecuta muchos programas externos usando java.lang.Process. Asumiendo que su funcionalidad también está disponible en forma de biblioteca nativa, ¿cuáles serían las ventajas de ejecutar dichas funciones de biblioteca utilizando JNA?Ventajas de utilizar JNA durante la ejecución del proceso

Las ejecuciones del proceso son bastante pesadas: tardan unos segundos en completarse. ¿Estoy en lo cierto al pensar que las ganancias de rendimiento serían mínimas?

+0

Esta es una de esas preguntas que simplemente me deja rascándome la cabeza, porque sería muy fácil establecer un punto de referencia para uno mismo. –

+3

Para investigar esto, se requiere un compromiso de tiempo. Dado que los usuarios de SO tal vez ya tengan alguna experiencia en el mundo real sobre el uso de JNA, espero determinar si la realización de dicho parámetro es digna de ese esfuerzo. Por ejemplo, tal vez me he perdido algo obvio re: JNA y de hecho sería un ejercicio sin sentido, incluso la evaluación comparativa ... – teabot

Respuesta

3

Usted puede encontrar este útil: Execute native code via JNI/DLL or EXE?

Fuimos con la ejecución nativa. Según la respuesta aceptada, hay menos riesgo de pérdidas de memoria y es fácil reiniciar el proceso nativo según sea necesario.

Cuestiones relacionadas