|
|
||
|
|
[marsのアンテナ] [記事一覧] [Eclise Wiki - mars] [memo] [tool] [book] [palm] [IDEA] [eclipse] [vim] |
うーん,こうゆう数字をうかつに公開するのはよろしくないんだが.自分のメモでもあるんで,とりあず書いておこう.
前から気になっていた,各種O/Rマッパーのベンチマークを取ってみました.
素のJDBC, Hibernate, Torque, DbUtilsに対して,それぞれ以下の値を計測.
手元にあったRDBはMySQL.んで,その結果はこう(単位は[msec]ね).
| JDBC | Hibernate | Torque | DbUtils | |
|---|---|---|---|---|
| INSERT | 344 | 625 | 828 | 344 |
| SELECT | 30,109 | 18,750 | 46,515 | 38,092 |
| UPDATE | 390 | 750 | 1,250 | 438 |
| DELETE | 375 | 890 | 593 | 375 |
JDBCが早いのとTorqueが遅いのは予想とおりなんですけど,HibernateのSELECTが予想外に早くてビックリした.
CGLIB効果ってスゴイのかとおもって,hibernate.cglib.use_reflection_optimizerをfalseにしたら,15%ほど遅くなった.
#でも15%程度.検索だけを見るとHibernate圧勝や.
DbUtilsはね.実装がSELECT以外はJDBCとそんな変わらんから,こんなもんなんだと思う.でも,こいつにCGLIB使ったら,結構イケんじゃないのって気がするなぁ.
ps.
この数字,信用するかは自己責任でお願いします.観測者であるアタシ以外に,この値が役立つ人がいるとは思わんが.なにせ測定環境とか明記してないし.
#検証コードは恥ずかしくて,とても公開する気にはならんが.:-D
だれか似たようなことやってみない?
(追記)つづきがあるよ.