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を読むと、シリアライズの小さくするための工夫が徹底している感じがします。 シリアライズ対象のデータ 次のような、どこにでもありそうなクラスを作ってみ
Hello World! Java →116 ac ed 00 05 73 72 00 26 62 65 6e 63 68 6d 61 72 6b 2e 74 65 73 74 63 61 73 65 2e 62 65 61 6e 2e 48 65 6c 6c 6f 57 6f 72 6c 64 42 65 61 6e 52 9a 88 0d cc 48 49 00 02 00 02 4a 00 04 74 69 6d 65 4c 00 03 73 74 72 74 00 12 4c 6a 61 76 61 2f 6c 61 6e 67 2f 53 74 72 69 6e 67 3b 78 70 00 00 01 27 8a dc 2a e2 74 00 0c 48 65 6c 6c 6f 20 57 6f 72 6c 64 21 JSON →43 {"str":"Hello World!
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く