2010-02-16 17 views
5

Şu anda java.lang.Process kullanarak birçok harici program yürüten bir projem var. İşlevselliğinin yerel kitaplık biçiminde de mevcut olduğu varsayılırsa, bunun yerine JNA kullanarak söz konusu kitaplık işlevlerini yürütmenin avantajları ne olurdu?Süreç yürütme üzerinde JNA kullanmanın avantajları

İşlem yürütmeleri oldukça ağırdır - tamamlanması birkaç saniye alır. Performans kazanımlarının asgari düzeyde olacağını düşünürken düzeliyorum mu?

+0

Bu sadece kafamı çizmemi engelleyen sorulardan biri, çünkü kendisi için kıyaslama yapmak çok kolay olurdu. –

+3

Bunu araştırmak için bir zaman taahhüdü gerekir. SO kullanıcılarının, JNA'yı kullanma konusunda gerçek bir dünya deneyimine sahip olabileceğini göz önünde bulundurarak, böyle bir ölçütün gerçekleştirilmesinin çabaya değer olup olmadığını belirlemeyi umuyorum. Mesela - belki de bariz bir şeyi özledim: JNA ve aslında bunu ölçmek bile anlamsız bir egzersiz olurdu ... – teabot

cevap

3

Bu yararlı bulabilirsiniz: Execute native code via JNI/DLL or EXE?

Biz yerli yürütme ile gitti. Kabul edilen cevaba göre, daha az bellek sızıntısı riski vardır ve gerektiğinde yerel işlemi yeniden başlatmak kolaydır.