This test focusses on en/decoding of a cyclefree data structure, but the featureset of the libraries compared differs a lot: some serializers support cycle detection/object sharing others just write non-cyclic tree structures some include full metadata in serialized output, some don’t some are cross platform, some are language specific some are text based, some are binary, some support versioning
前回はJBoss MarshallingとMessagePackのシリアライズサイズを比較してみましたが、今回はCoherenceで使用しているPortable Object Format(POF)も比較してみましょう。 Oracleのページから評価版のCoherenceをダウンロードすれば良かったのかもしれませんが、手っ取り早くWebから情報を探してきました。「CoherenceのPOF形式でシリアライズされたオブジェクトのサイズ見積もりツール」(山本大@クロノスの日記)にPOFのシリアライズサイズについて載っています(こういう情報、ありがとうございます)。このページでは「Person.java」に「ExampleMain.java」でサンプルデータを入れてサイズ測定をしています。同じクラス、データでMessagePackでシリアライズして比較してみました。 各フレームワークの紹介 Po
ちょっと興味があり、シリアライズフレームワークについて調べてみました。Java標準のシリアライズはサイズが大きくなってしまうため、いろんな人が工夫して小さくシリアライズする仕組みを考えています。そんな中で、今回は(今回しかやらないかもしれませんが)、JBoss MarshallingとMessagePackでどちらが小さなサイズにシリアライズできるのか測ってみました。 各フレームワークの紹介 JBoss Marshalling JBossの周辺で使われているシリアライズの仕組み。Javaのシリアライズでは効率が悪いため、独自に開発されました。 MessagePack 言語に依存しないシリアライズの仕組み。Format specificationを読むと、シリアライズの小さくするための工夫が徹底している感じがします。 シリアライズ対象のデータ 次のような、どこにでもありそうなクラスを作ってみ
12. Java JSON • Json-lib( ) http://json-lib.sourceforge.net/ • JSONIC http://jsonic.sourceforge.jp/ • FlexJson http://flexjson.sourceforge.net/ • 13. Java API (writeExternal/readExternal) public class Hoge implements Externalizable{ private String str; private long time; @Override public void writeExternal(ObjectOutput out) { out.writeObject(this.str); out.writeLong(this.time); } @Override public v
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く