C++ 序列化/Serialization
Terark-CTO-雷鹏
Terark可检索压缩技术作者。致力于让数据更小,访问更快。
展开
-
febird.dataio 优化技术
优化技术主要有以下几点:1. 优化的inlinea) 频繁调用的函数都使用inline,但是值得注意的是,在inline的时候,只inline最频繁的分支,很少走到的分支使用非inli2009-04-04 12:45:00 · 306 阅读 · 0 评论 -
febird.dataio和boost.serialization性能对比
和boost.serialization性能对比运行性能以下数据是对POD数据,都使用典型用法。febird使用DATA_IO_LOAD_SAVE(Class, &a&b&c) boost也使用这样的简化形式:#define DATA_IO_LOAD_SAVE(Class, Members) \ friend class boost::s...2009-04-06 20:07:00 · 115 阅读 · 0 评论 -
febird.dataio vs boost.serialization 运行性能对比
代码表示的是数据格式,DATA_IO_LOAD_SAVE 在 <febird/io/DataIO.h> 中定义对boost,DATA_IO_LOAD_SAVE 的定义相当于:#define DATA_IO_LOAD_SAVE(Class, Members) \ friend class boost::serialization::access; \ te...2009-04-06 20:09:00 · 127 阅读 · 0 评论 -
febird.dataio 序列化宏
序列化宏DATA_IO_LOAD_SAVE(Class,Members)在类定义内调用,无版本,可以优化DATA_IO_LOAD_SAVE_E(Class, Members)在类定义外调用,无版本,可以优化DATA_IO_LOAD_SAVE_V(Class, CurrentVersion, Members)在类定...2009-04-08 11:23:03 · 200 阅读 · 0 评论 -
检查序列化声明的顺序和成员定义的顺序
项目地址:http://code.google.com/p/febird DataIO_is_realdump用来推断一个对象是否可以直接通过dump内存来完成序列化,如果可以,在load/save时会有极大的性能提高。如果dump后,一些成员除了需要byte_swap,而不需要其它任何转化,也可以安全地先dump然后再byte_swap,这样比一个成员一个成员地load/save并且by...2009-04-11 16:12:48 · 146 阅读 · 0 评论 -
最便捷、最强大、速度最快的C++序列化框架
最便捷、最强大、速度最快的C++序列化框架。 特别注意:vc6太古老,不符合C++规范,无法使用该框架 1. 高性能,速度非常快,比你能找到的同类产品至少快一个数量级2. &am2008-11-07 18:08:00 · 321 阅读 · 0 评论 -
持久化的 map ,使用 BerkeleyDB
项目地址:http://code.google.com/p/febird 使用前面介绍的序列化框架,可以非常简单地将Bekeley DB作为存储层,实现一个易于使用的,强类型的,持久化的map。 这个设计的的基本原则就是:模板作为一个薄的、类型安全的包装层,实现层的代码可以多个模板实例来公用,这样不但加快了编译时间,也减小了生成的代码尺寸。这个实现相当于std::map<...2008-11-07 18:14:00 · 375 阅读 · 0 评论 -
持久化的多键映射,使用BerkeleyDB
项目地址:http://code.google.com/p/febird 如前介绍,相当于 std::map<Key1,std::map<Key2,Data> >,但接口也不完全相同,这里只贴代码: /* vim: set tabstop=4 : */#ifndef __febird_bdb_kmapdset_h__ #define __febi...2008-11-07 18:29:00 · 96 阅读 · 0 评论 -
序列化如何简洁地支持XML
目前该框架(DataIO)仅支持二进制。想起序列化支持只需要一个宏DATA_IO_LOAD_SAVE/DATA_IO_LOAD_SAVE_V,对象成员基本上用“&”连接起来,这样,可以写一个简单的语法分析器,将成员序列化表达转化成字符串,然后进行语法分析,这样,就可以在不用改变客户代码的情况下,进行文本方式(如XML)的序列化了,比boost的要简单许多。如,目前的宏这样定义:#...2009-01-02 14:24:00 · 99 阅读 · 0 评论