#chiroito ’s blog

Java を中心とした趣味の技術について

PofSerializerとSerializerの比較-フィールド数増加版-

POF(Portable Object Format)を利用したシリアライザーとJavaのシリアライザーであるPofSerializerとSerializerではどれくらいのパフォーマンスの差があるのかを検証してみました。
前回はこちら「PofSerializerとSerializerの比較
前回はキャッシュに入れるオブジェクトがフィールドを4つしか持たなかったため今回は1000個のフィールドを持つようにしました。

注:個人的な検証の結果です。

検証環境

Intel Core i7 S860(2.53GHz)
DDR3 4GB
Windows7 Ultimate
Java 6.0 update 18
Oracle Coherence 3.6.1

検証パターン

指定した数のデータをキャッシュへ連続でput/getする。
データの個数:100個、1,000個、10,000個、100,000個(POF版のみ)
前回の結果から同じ条件で何度やってもほぼ同じ結果が得られたため実行回数は1度にしています。
また、オブジェクトのサイズが増加したためメモリが足りなくなってしまい100万個のケースとSerializerでは10万個のケースが実行できませんでした(汗

結果

細い線が前回の結果になります。
全体的に前回よりグラフが直線的になっています。
やはり、SerializerよりもPofSerializerの方が高速という結果になりました。
また、前回Serializerではgetとputの実行時間に差はほとんど見られませんでしたがputの方が速く、PofSerializerではgetの方が速いです。
実行時間
PofSerializerとSerializerの実行時間比

今回のソースコードは非常に長いので省略させて頂きます。