トップ 一覧 Farm 検索 ヘルプ RSS ログイン

Diary/2007-12-11の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!分岐するプログラムの速度
{{category Java}}

ちょっとした実験。
ある数値(その数値はほとんどかわらない)に従って
挙動を変えるJavaプログラムの動作速度の実験

::switch文で分岐
 java Test 0 10 1000000 > /dev/null  5.16s user 2.77s system 99% cpu 7.988 total
::Methodをつかってinvoke
 java Test 1 10 1000000 > /dev/null  5.46s user 2.87s system 99% cpu 8.388 total
::共通のインターフェースを実装したクラスで切り替える
 java Test 2 10 1000000 > /dev/null  5.09s user 2.73s system 99% cpu 7.875 total
::switch文で分岐(JNI版:参考まで...)
 java Test 3 10 1000000 > /dev/null  5.63s user 2.84s system 99% cpu 8.545 total

実験環境は、CPU 2.2GHz Intel Core2Duo、メモリ 2GB。
JNI使うなら当然もっと負荷高いことしないとだめ。

!MacでJNI
 gcc -PIC -dynamiclib -o libTestJNI.jnilib \
 -I/System/Library/Frameworks/JavaVM.framework/Headers \
 -lstdc++ \
 TestJNI.cxx

{{files}}