private static BenchTestObjectA CreateInstance()
        {
            var             instance = BenchTestObjectA.CreateInstance();
            BinaryFormatter f        = new BinaryFormatter();
            long            size;

            using (MemoryStream ms = new MemoryStream())
            {
                f.Serialize(ms, instance);
                size = ms.Length;
            }
            Console.WriteLine("instance created {0} bytes", size);
            return(instance);
        }
        private static List <BenchResult> RunTests(BenchTestObjectA instance)
        {
            List <BenchResult> results = new List <BenchResult>();
            IEnumerable <ISerializerAdapter> serializers = SerializationTests.GetSerializers()
                                                           .Select(t => (ISerializerAdapter)Activator.CreateInstance(t));

            foreach (var ser in serializers)
            {
                Console.WriteLine("Benchmarking {0}", ser.GetType().Name);
                var result = Benchmark.Run(ser, instance);
                results.Add(result);
            }
            return(results.OrderBy(r => r.Average.TotalTime).ToList());
        }