看看 类的序列化及反序列化的耗时
来源:互联网 发布:mysql 无需密码登录 编辑:程序博客网 时间:2024/05/01 09:08
下面是一个测试类的序列化的例子,可以看看序列化和反序列化的耗时
namespace Queue ...{
[Serializable]
public class Person ...{
private int _age;
private string _name;
public Person() ...{
_age = -1;
_name = string.Empty;
}
public Person(int age, string name) ...{
_age = age;
_name = name;
}
public int Age ...{
get ...{
return _age;
}
set ...{
_age = value;
}
}
public string Name ...{
get ...{
return _name;
}
set ...{
_name = value;
}
}
}
}
[Serializable]
public class Person ...{
private int _age;
private string _name;
public Person() ...{
_age = -1;
_name = string.Empty;
}
public Person(int age, string name) ...{
_age = age;
_name = name;
}
public int Age ...{
get ...{
return _age;
}
set ...{
_age = value;
}
}
public string Name ...{
get ...{
return _name;
}
set ...{
_name = value;
}
}
}
}
namespace Queue ...{
class Program ...{
static void Main(string[] args) ...{
Person person = new Person(23, "guangboo");
XmlSerializerFactory factory = new XmlSerializerFactory();
XmlSerializer serializer = factory.CreateSerializer(Type.GetType("Queue.Person"));
StringWriter writer = new StringWriter();
TextReader reader = null;
DateTime dt = DateTime.Now; //总的开始时间
int i = 1;
while (i-- > 0) ...{
reader = null;
writer = new StringWriter();
DateTime startTime = DateTime.Now;
Console.WriteLine("序列化开始时间:" + startTime.Second.ToString() + ":" + startTime.Millisecond.ToString());
serializer.Serialize(writer, person);
DateTime endTime = DateTime.Now;
Console.WriteLine("序列化结束时间:" + endTime.Second.ToString() + ":" + endTime.Millisecond.ToString());
Console.WriteLine("序列化耗时:" + (endTime.Ticks - startTime.Ticks));
Console.WriteLine(writer.GetStringBuilder().ToString());
Console.WriteLine("------------序列化成功-------------");
reader = new StringReader(writer.GetStringBuilder().ToString());
DateTime startTime2 = DateTime.Now;
Console.WriteLine("反序列化开始时间:" + startTime2.Second.ToString() + ":" + startTime2.Millisecond.ToString());
Person p = (Person)serializer.Deserialize(reader);
DateTime endTime2 = DateTime.Now;
Console.WriteLine("反序列化结束时间:" + endTime2.Second.ToString() + ":" + endTime2.Millisecond.ToString());
Console.WriteLine("反序列化耗时:" + (endTime2.Ticks - startTime2.Ticks));
Console.WriteLine("-------------反序列化成功------------");
reader.Close();
writer.Close();
}
DateTime dt2 = DateTime.Now;
long ticks = dt2.Ticks - dt.Ticks;
Console.WriteLine(string.Format("--------------共耗时{0}毫秒---{1}--------------",DateTime.FromBinary(ticks).Millisecond,ticks));
Console.Read();
}
}
}
class Program ...{
static void Main(string[] args) ...{
Person person = new Person(23, "guangboo");
XmlSerializerFactory factory = new XmlSerializerFactory();
XmlSerializer serializer = factory.CreateSerializer(Type.GetType("Queue.Person"));
StringWriter writer = new StringWriter();
TextReader reader = null;
DateTime dt = DateTime.Now; //总的开始时间
int i = 1;
while (i-- > 0) ...{
reader = null;
writer = new StringWriter();
DateTime startTime = DateTime.Now;
Console.WriteLine("序列化开始时间:" + startTime.Second.ToString() + ":" + startTime.Millisecond.ToString());
serializer.Serialize(writer, person);
DateTime endTime = DateTime.Now;
Console.WriteLine("序列化结束时间:" + endTime.Second.ToString() + ":" + endTime.Millisecond.ToString());
Console.WriteLine("序列化耗时:" + (endTime.Ticks - startTime.Ticks));
Console.WriteLine(writer.GetStringBuilder().ToString());
Console.WriteLine("------------序列化成功-------------");
reader = new StringReader(writer.GetStringBuilder().ToString());
DateTime startTime2 = DateTime.Now;
Console.WriteLine("反序列化开始时间:" + startTime2.Second.ToString() + ":" + startTime2.Millisecond.ToString());
Person p = (Person)serializer.Deserialize(reader);
DateTime endTime2 = DateTime.Now;
Console.WriteLine("反序列化结束时间:" + endTime2.Second.ToString() + ":" + endTime2.Millisecond.ToString());
Console.WriteLine("反序列化耗时:" + (endTime2.Ticks - startTime2.Ticks));
Console.WriteLine("-------------反序列化成功------------");
reader.Close();
writer.Close();
}
DateTime dt2 = DateTime.Now;
long ticks = dt2.Ticks - dt.Ticks;
Console.WriteLine(string.Format("--------------共耗时{0}毫秒---{1}--------------",DateTime.FromBinary(ticks).Millisecond,ticks));
Console.Read();
}
}
}
- 看看 类的序列化及反序列化的耗时
- ArrayList的二进制序列化及反序列化实现
- ArrayList的二进制序列化及反序列化实现
- javascript下的json 序列化及反序列化
- 关于java的序列化及反序列化
- Android 的序列化及反序列化
- 关于xtream的序列化及反序列化
- Java的序列化、反序列化
- 序列化反序列化的使用
- iOS的序列反序列化
- 序列化和反序列化的工具类
- C#类的序列化与反序列化
- 类的序列化和反序列化
- 类的序列化与反序列化serialVersionUID
- C# 序列化反序列化XML的帮助类
- 简单的网络序列化(反序列化)类
- MFC + 自定义类的序列化与反序列化
- 类的序列化和反序列化
- 品味prototype1.6 新加入方法
- RSA算法
- log4j介绍和使用方法
- 典型的色彩空间
- JSF内容概述
- 看看 类的序列化及反序列化的耗时
- why can not across external form the inter of a thread
- 2008北京图书订货会——后期报道
- Excel 中用公式统计唯一值的方法
- 你错过了吗?
- [转载]跟我一起写 Makefile
- 球体重量测试
- weblogic与axis之间冲突
- 学习mondrian手册