예제 #1
0
        /// <summary>
        /// 二进制序列化测试
        /// </summary>
        /// <param name="value"></param>
        static void Serialize(filedData value)
        {
            byte[][]    bytes = new byte[count][];
            filedData[] datas = new filedData[count];
            Stopwatch   time  = new Stopwatch();

            time.Start();
            for (int index = count; index != 0;)
            {
                --index;
                bytes[index] = fastCSharp.emit.dataSerializer.Serialize(value);
            }
            time.Stop();
            Console.WriteLine((count / 10000).toString() + "W object Emit Serialize " + time.ElapsedMilliseconds.ToString() + "ms");

            time.Reset();
            time.Start();
            for (int index = count; index != 0;)
            {
                --index;
                datas[index] = fastCSharp.emit.dataDeSerializer.DeSerialize <filedData>(bytes[index]);
            }
            time.Stop();
            Console.WriteLine((count / 10000).toString() + "W object Emit DeSerialize " + time.ElapsedMilliseconds.ToString() + "ms");
        }
예제 #2
0
        /// <summary>
        /// JSON序列化测试
        /// </summary>
        /// <param name="value"></param>
        static void Json(filedData value)
        {
            string[]    jsons = new string[count];
            filedData[] datas = new filedData[count];
            Stopwatch   time  = new Stopwatch();

            time.Start();
            for (int index = count; index != 0;)
            {
                --index;
                jsons[index] = fastCSharp.emit.jsonSerializer.ToJson(value);
            }
            time.Stop();
            Console.WriteLine((count / 10000).toString() + "W object Filed ToJson " + time.ElapsedMilliseconds.ToString() + "ms");

            time.Reset();
            time.Start();
            for (int index = count; index != 0;)
            {
                --index;
                datas[index] = fastCSharp.emit.jsonParser.Parse <filedData>(jsons[index]);
            }
            time.Stop();
            Console.WriteLine((count / 10000).toString() + "W object Filed Parse " + time.ElapsedMilliseconds.ToString() + "ms");
        }
예제 #3
0
        /// <summary>
        /// XML序列化测试
        /// </summary>
        /// <param name="value"></param>
        static void XmlSerialize(filedData value)
        {
            string[]    xmls  = new string[count];
            filedData[] datas = new filedData[count];
            Stopwatch   time  = new Stopwatch();

            time.Start();
            for (int index = count; index != 0;)
            {
                --index;
                xmls[index] = fastCSharp.emit.xmlSerializer.ToXml(value);
            }
            time.Stop();
            Console.WriteLine((count / 10000).toString() + "W object XML Serialize " + time.ElapsedMilliseconds.ToString() + "ms");

            time.Reset();
            time.Start();
            for (int index = count; index != 0;)
            {
                --index;
                datas[index] = fastCSharp.emit.xmlParser.Parse <filedData>(xmls[index]);
            }
            time.Stop();
            Console.WriteLine((count / 10000).toString() + "W object XML DeSerialize " + time.ElapsedMilliseconds.ToString() + "ms");
        }