1.概述
DirectStruct是一个强有力的代码自动生成工具,它可以自动生成C结构体与XML、JSON、二进制(带压缩)等报文之间的转换代码,还能自动生成ESQL代码片段,在应用中直接使用自动化代码以提高开发效率,避免开发冗余和手工编码风险。
DirectStruct生成了哪些自动化代码? C结构体定义 批量初始化缺省值函数 网络/主机字节序化函数 二进制序列化/反序列化函数(可带压缩) XML序列化/反序列化函数(依赖开源库fasterxml) JSON序列化/反序列化函数(依赖开源库fasterjson) 嵌入式SQL代码 打印结构体内所有字段值函数
用DirectStruct自动生成的代码能干什么?
为什么使用DirectStruct?
5.性能压测 压测结论: DirectStruct序列化(带压缩)后的报文大小66字节,而Google Protocol Buffer为72字节,DirectStruct在序列化和压缩报文大小上险胜。 DirectStruct反复序列化/反序列化(带压缩)1000万次总耗时1.080s,而Google Protocol Buffer总耗时4.248s,DirectStruct在序列化性能上完胜。 * DirectStruct编译客户应用代码时不需要额外的头文件和库文件,只需要工具dsc生成的IDL_AllTypes2.dsc.c、IDL_AllTypes2.dsc.h即可,而Google Protocol Buffer不仅需要PressProtobuf.pb.cc、PressProtobuf.pb.h,还需要/usr/local/include/google/protobuf下的一大堆头文件以及/usr/local/lib/libprotobuf.a(9MB),还依赖于-lpthread,编译环境复杂。