public void RunSimplePerfTests() { PerfTest obj = new PerfTest { Foo = 12, // 1: 8, 12 Bar = "bar", // 2: 18, 3, 98, 97, 114 Blip = 123.45F, // 3: 29, 102, 230, 246, 66 Blop = 123.4567 // 4: 33, 83, 5, 163, 146, 58, 221, 94, 64 }; PerfTest clone; using (MemoryStream ms = new MemoryStream()) { Serializer.Serialize(ms, obj); byte[] raw = ms.ToArray(); ms.Position = 0; clone = Serializer.Deserialize<PerfTest>(ms); Assert.AreEqual(obj.Foo, clone.Foo, "Foo"); Assert.AreEqual(obj.Bar, clone.Bar, "Bar"); Assert.AreEqual(obj.Blop, clone.Blop, "Blop"); Assert.AreEqual(obj.Blip, clone.Blip, "Blip"); } const int LOOP = 500000; Stopwatch watch = Stopwatch.StartNew(); for (int i = 0; i < LOOP; i++) { Serializer.Serialize(Stream.Null, obj); } Console.WriteLine("\tSerialized x{0} in {1}ms", 500000, watch.ElapsedMilliseconds); }