There are multiple .NET tools that implement Google's Protocols Buffers
Jon Skeets:
https://code.google.com/p/protobuf-csharp-port/
"Protocol Buffers" is a binary serialization format and technology, released to the open source community by Google in 2008.
There are various implementations of Protocol Buffers in .NET. This project is a fairly close port of the Google Java implementation.
Marc Gravel's:
https://code.google.com/p/protobuf-net/
protocol buffers is the name of the binary serialization format used by Google for much of their data communications. It is designed to be:
- small in size - efficient data storage (far smaller than xml)
- cheap to process - both at the client and server
- platform independent - portable between different programming architectures
- extensible - to add new data to old messages
https://code.google.com/p/protobuf-net/wiki/Performance
Protocol Buffers is by far fastest serialization on .NET
Service Stack .NET Benchmarks
(Northwind DB Tables .NET Serialization benchmarks)
using as plugin for ServiceStack
Protocols Buffers Developer Guide
Protocol buffers are now Google's lingua franca for data – at time of writing, there are 48,162 different message types defined in the Google code tree across 12,183 .proto files. They're used both in RPC systems and for persistent storage of data in a variety of storage systems.