- 120 名前:Java軍曹 [02/12/29 19:25]
- >>117
>このaddメソッド程度のものをnativeで書いた場合とどちらが速いんですかね? この「nativeで書いた場合」とは、このスレの主旨から考えるに、当然 「このメソッドについて」、「JNIを使用する」事を想像しているものと思われるが、 その場合、処理速度の早い遅いを決めるポイントは、主に以下の2点になると思われますッッ!! 1)どれだけこのメソッドの中で完結している処理の量がある(多い)か 2)このnative宣言されたメソッドの実体(DLL)が、どれだけJavaのオブジェクトを利用するか 1について、それが「いやーこれがもう本当にループ部分とか壮絶なネストでぐーるぐるなんですよ」 だった場合、早くなるかもしれないと思われます!そして、こことも関わる話でありますが、 2について、「いやー中の処理は殆ど別のオブジェクト(Javaのクラスのインスタンス)のメソッド呼びまくりなんですよ」 だと、かえって遅くなるか、あるいはあんまり変わらない可能性が高いと思われます!! なぜなら!DLL側で受け取るJavaのクラスのインスタンスは、プリミティブ型(この場合はラッパー)も含めて、 全ていちいちFindClassして探し出さなければならないからであります! 参考↓ ttp://java.sun.com/j2se/1.3/ja/docs/ja/guide/jni/spec/jniTOC.doc.html
|

|