Adata 1.1 发布,多语言的序列化库

Adata 1.1发布,调整lua的模块实现,大幅提升性能

http://git.oschina.net/lordoffox/adata

AData是一个多语言的序列化库,和protocol buffer类似。

目前支持C++/Lua(5.1,5.2,5.3,jit)/C#,非常适合游戏的通讯协议和数据存储

Adata的优势,生成的代码量少,和protocol buffer比较代码量大幅减少,可读性强

功能上,除了protocol buffer支持的向前兼容,增加了向后兼容的支持

C++版特性,生成代码自动优化布局,对齐方式占用内存最少,性能强大,高于官方protocol buffer一个数量级,自动化生成代码只有头文件,使用只需要包含adata.hpp头文件,不需要编译等麻烦工作

lua版本特性,性能强大,高于云风实现的https://github.com/cloudwu/pbc,高于云风实现的https://github.com/cloudwu/sproto

luajit版本特性,不依赖C++扩展,只需要2个lua文件就可以使用,适合客户端,性能依旧是亮点

C#版本特性,只需要一个adata.cs就可以使用,性能还是强于protocol buffer的C#版本

文章转载自 开源中国社区 [http://www.oschina.net]

时间: 2024-08-07 17:13:47

Adata 1.1 发布,多语言的序列化库的相关文章

spdylay 0.1.0发布 C语言的SPDY库

spdylay 是一个对C语言的谷歌http://www.aliyun.com/zixun/aggregation/17001.html">SPDY协议的实验性实现,它提供了一个SPDY框架层的实施.它不执行任何I/O操作,当库需要它们时,它能够调用应用程序提供的函数.它没有包括任何事件轮询机制,使应用程序可以自由选择处理事件的方式.该库的代码不依赖于任何特定的SSL库(例如程序依赖于OpenSSL1.0.1或更高的除外). spdylay 0.1.0是首次发布的版本. 软件信息:http

spdylay 0.3.0发布 C语言的SPDY库

spdylay 是一个对C语言的谷歌http://www.aliyun.com/zixun/aggregation/17001.html">SPDY协议的实验性实现,它提供了一个SPDY框架层的实施.它不执行任何I/O操作,当库需要它们时,它能够调用应用程序提供的函数.它没有包括任何事件轮询机制,使应用程序可以自由选择处理事件的方式.该库的代码不依赖于任何特定的SSL库(例如程序依赖于OpenSSL1.0.1或更高的除外). spdylay 0.3.0该版本修复了大量流创建的缓冲区溢出.一

spdylay 0.2.1发布 C语言的SPDY库

spdylay 是一个对C语言的谷歌http://www.aliyun.com/zixun/aggregation/17001.html">SPDY协议的实验性实现,它提供了一个SPDY框架层的实施.它不执行任何I/O操作,当库需要它们时,它能够调用应用程序提供的函数.它没有包括任何事件轮询机制,使应用程序可以自由选择处理事件的方式.该库的代码不依赖于任何特定的SSL库(例如程序依赖于OpenSSL1.0.1或更高的除外). spdylay 0.2.1该版本修复了bug关闭流造成内存泄漏的

网站开发中, php所扮演的角色,以及与其他语言,工具或库的关系,这个问题很重要

问题描述 网站开发中, php所扮演的角色,以及与其他语言,工具或库的关系,这个问题很重要 网站开发中, php所扮演的角色,以及与其他语言,工具或库的关系,这个问题很重要 解决方案 php是一种web脚本语言,它主要用来编写应用层.web应用层需要iis或者apache这样的web服务器去执行.只使用php其实也可以开发一个完整的服务器端程序了.如果你希望一部分业务放在客户端执行,那么需要用js脚本.如果你希望调用一些别的语言的库,或者出于性能的优化,可以用C++写dll,用php模块加载.

C语言的静态库与共享库

1库的概念 2静态库 2-1 静态库的概念 2-2 静态库的创建 2-2-1 静态库创建的命令 2-2-2 静态库创建的准备工作 2-2-3 创建静态库的例子 2-3 静态库的使用 2-3-1 静态库使用的命令 2-3-2 静态库使用的例子 3共享库动态链接库 3-1 共享库的概念 3-2 共享库的创建 3-2-1 共享库的创建命令 3-2-2 共享库的创建例子 3-3 共享库的使用 3-3-1 共享库的使用命令 3-3-2 共享库的使用例子 4不使用库的方法 1.库的概念 函数库是由系统建立的

手把手教你发布自己的CocoaPods开源库

本文讲的是手把手教你发布自己的CocoaPods开源库,发布自己的cocoapods开源库按照以下步骤,良心制作,包教包会!! 下面我会通过一个名为IFMMenu的项目来讲解一下整个过程. 1.写好代码,上传到github github上创建项目仓库的时候记得创建LICENSE(许可证/授权)文件,此文件必须要有. github上创建项目仓库 2.将自己的项目打成tag 因为cocoapods是依赖tag版本的,所以必须打tag,以后再次更新只需要把你的项目打一个tag,然后修改.podspec

《R的极客理想—工具篇》—— 2.1 R语言时间序列基础库zoo

2.1 R语言时间序列基础库zoo 问题 R语言怎么处理时间序列数据? 引言 时间序列分析是一种动态数据处理的统计方法,通过对时间序列数据的分析,我们可以感觉到世界正改变着什么!R语言作为统计分析的利器,对时间序列处理有着强大的支持.在R语言中,单独为时间序列数据定义了一种数据类型zoo,zoo是时间序列的基础,也是股票分析的基础.本节将介绍zoo库在R语言中的结构和使用. 2.1.1 zoo包介绍 zoo是一个R语言类库,zoo类库中定义了一个名为zoo的S3类型对象,用于描述规则的和不规则的

go语言日志记录库简单使用方法实例分析_Golang

本文实例讲述了go语言日志记录库简单使用方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (  "fmt"  "log"  "os" ) func main(){  logfile,err := os.OpenFile("/var/golang/jb51.net.log",os.O_RDWR|os.O_CREATE,0);  if err!=nil {   fmt.P

老生常谈C语言动态函数库的制作和使用(推荐)_C 语言

>>>>>>老生常谈C语言接静态函数库的制作和使用>>点击进入 2 动态函数库的制作和使用 动态函数库的制作步骤可以用下图来描述,具体包括 (1) 编写函数的.c文件(例如add.c.sub.c.mul.c和div.c) (2) 编写Makefile,然后make,实现函数的编译和归档入库 函数的编译:使用gcc –c add.c -fPIC只编译不链接函数.c文件,分别生成函数的目标文件(例如add.o.sub.o.mul.o和div.o). 函数的归档入