/// <summary> /// 代码生成二进制序列化测试 /// </summary> /// <param name="value"></param> static void CodeSerialize(codeFiledData value) { byte[][] bytes = new byte[count][]; codeFiledData[] datas = new codeFiledData[count]; Stopwatch time = new Stopwatch(); time.Start(); for (int index = count; index != 0;) { --index; bytes[index] = value.Serialize(); } time.Stop(); Console.WriteLine((count / 10000).toString() + "W object Code Serialize " + time.ElapsedMilliseconds.ToString() + "ms"); time.Reset(); time.Start(); for (int index = count; index != 0;) { --index; (datas[index] = new codeFiledData()).DeSerialize(bytes[index]); } time.Stop(); Console.WriteLine((count / 10000).toString() + "W object Code DeSerialize " + time.ElapsedMilliseconds.ToString() + "ms"); }
static void Main(string[] args) { do { propertyData propertyData = fastCSharp.emit.random <propertyData> .Create(randomConfig); Json(propertyData); codeFiledData filedData = fastCSharp.emit.random <codeFiledData> .Create(randomConfig); Json(filedData); XmlSerialize(filedData); IndexSerialize(filedData); Serialize(filedData); CodeSerialize(filedData); Console.WriteLine("Press quit to exit."); }while (Console.ReadLine() != "quit"); }