Esempio n. 1
0
        public static void Test()
        {
            var userinfo = new SerializeTestUserInfo();

            userinfo.EmailState    = 1;
            userinfo.FaceBookName  = Guid.NewGuid().ToString("N");
            userinfo.FaceBookState = 1;
            userinfo.Follow        = 100;
            userinfo.GoogleName    = Guid.NewGuid().ToString("N");
            userinfo.GoogleState   = 2;
            userinfo.PhoneState    = 3;
            userinfo.Subscribe     = 10;
            userinfo.ToFollow      = 1000;
            userinfo.TwitterName   = Guid.NewGuid().ToString("N");
            userinfo.TwitterState  = 132;
            userinfo.UserAvatarUrl = "http://www.example.com/useravatar";
            userinfo.UserId        = 1;

            int size = 10000;


            var stopwatch = new Stopwatch();

            stopwatch.Start();
            for (int i = 0; i < size; i++)
            {
                var u = userinfo.Clone();
                Adf.JsonHelper.Serialize(u);
            }
            stopwatch.Stop();
            Console.WriteLine("json:" + stopwatch.ElapsedMilliseconds);


            stopwatch.Reset();
            stopwatch.Start();
            for (int i = 0; i < size; i++)
            {
                var u = userinfo.Clone();
                using (var m = new MemoryStream())
                {
                    ProtoBuf.Serializer.NonGeneric.Serialize(m, u);
                }
            }
            stopwatch.Stop();
            Console.WriteLine("protobuf:" + stopwatch.ElapsedMilliseconds);



            Console.ReadLine();
        }