阅读背景:

使用Beetle进行高效的自定义二进制序列化

来源:互联网 

    Beetle提供了BufferWriter和BufferReader两个对象分别把数据写入二进制流和从二进制流中读取数据,由于大部分操作是基于unsafe的实现所以其数据的写入和读取效率非常高效。由于数据类型在写入的MemoryStream的时候需要做一个byte[]的转换,而Beetle所提供的BufferWriter和BufferReader很多数据读取和写入都是指针值复制,所以在整体效率会比平常用MemoryStream写入读取数据成员相对高效。同样基于指针值复制的好处在于组件在序列化数据类型的时候不会有额外的byte[]产生,即使序列化的对象的大小和序列化的数量都会有着良好的内存使用效率,在高密集的对象序列化时候可以让GC的工作压力减到最低。既然是手动序列化那其缺点就是需要手写代码来描述序列化过程,但也正因为这样用户可以根据自己实际的需要把对象序列化成网络传输的二进制协议流。    Beetle提供了BufferWriter和BufferReader两个对象分别把数据




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: