Note that there are some explanatory texts on larger screens.

plurals
  1. POAlternative to protobuf-net - size and time efficient serializer to work with objects graph
    text
    copied!<p>Google <a href="http://code.google.com/p/protobuf/" rel="nofollow noreferrer">protobuf</a> is great protocol to serialize objects efficient, but it only <strong>supports serialization of trees, not graphs</strong> (lack of full Object Reference Tracking).</p> <p>There are few implementation of Google idea in .NET. (i.e. <a href="http://code.google.com/p/protobuf-csharp-port/" rel="nofollow noreferrer">protobuf-csharp-port</a>, or <a href="http://code.google.com/p/protosharp/" rel="nofollow noreferrer">protosharp</a>), but most interesting is <a href="http://code.google.com/p/protobuf-net/" rel="nofollow noreferrer">protobuf-net</a>.</p> <p>Protobuf-net is better because its architecture fits, to .NET world, and <strong>has several add-ins</strong> (not always compatible with original protobuf, but very useful).</p> <p>One of that add-in is possibility to turn on reference tracking (AsReference option), which allows to serialize complex graphs even with cycles. </p> <p>Unnecessary Protobuf-net v2 is in beta version, and <strong>AsReference option not works at real world scenarios</strong>. (without this option everything works well, but without Reference Tracikng protobuf-net is not able to serialize graphs and is not longer attractive serializer).</p> <p>It still have some bugs:</p> <ul> <li><a href="http://code.google.com/p/protobuf-net/issues/detail?id=196" rel="nofollow noreferrer">Issue 196</a></li> <li><a href="http://code.google.com/p/protobuf-net/issues/detail?id=213" rel="nofollow noreferrer">Issue 213</a></li> <li><a href="http://code.google.com/p/protobuf-net/issues/detail?id=232" rel="nofollow noreferrer">Issue 232</a></li> <li><a href="http://code.google.com/p/protobuf-net/issues/detail?id=242" rel="nofollow noreferrer">Issue 242</a></li> <li><a href="https://stackoverflow.com/questions/6294295/protobuf-net-serializing-object-graph">SO 6294295</a></li> <li><a href="https://stackoverflow.com/questions/7219959/protobuf-net-asreference-require-public-constructor-in-activator-createinstance">SO 7219959</a></li> </ul> <p>So, I can't use this great tool, and I'm looking for alternative serializer which:</p> <ul> <li>is at least as fast, and produces small output as <a href="http://code.google.com/p/protobuf/" rel="nofollow noreferrer">protobuf</a></li> <li>is easy to adopt to current project like <a href="http://code.google.com/p/protobuf-net/" rel="nofollow noreferrer">protobuf-net</a></li> <li>allows to serialize graph like DataContractSerializer with PreserveObjectReferences set to true</li> <li>is stable not only for simple objects, but for complex real world scenarios</li> </ul>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload