自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

whinah的专栏

terark.com可检索压缩技术作者。致力于让数据更小,访问更快。

  • 博客(8)
  • 资源 (8)
  • 收藏
  • 关注

原创 异步通讯中使用纤程(Fiber/UserSpaceThread)

在异步通讯中,一般使用一个线程来select/poll/epoll,收到信号后,解码消息头,或者整个消息,然后将相应的fd交给其他线程处理。这看上去的确是个很好的办法,但是,如果使用Tcp,并且遇到一个复杂的派发过程:收到的消息大小未知,而只能使用序列化方法解码消息然后根据其内容进行派发。这种情况的特征是:在大多数情况下,都可以无阻塞地读取并解码整条消息,但也有极小的可能在某条消息上阻塞(消息

2008-11-15 15:36:00 5714 8

异步通讯中使用纤程(Fiber/UserSpaceThread)

在异步通讯中,一般使用一个线程来select/poll/epoll,收到信号后,解码消息头,或者整个消息,然后将相应的fd交给其他线程处理。这看上去的确是个很好的办法,但是,如果使用Tcp,并且遇到一个复杂的派发过程:收到的消息大小未知,而只能使用序列化方法解码消息然后根据其内容进行派发。这种情况的特征是:在大多数情况下,都可以无阻塞地读取并解码整条消息,但也有极小的可能在某条消息上阻塞(消息不...

2008-11-15 15:36:00 110

原创 持久化的多键映射,使用BerkeleyDB

 如前介绍,相当于 std::map >,但接口也不完全相同,这里只贴代码: /* vim: set tabstop=4 : */#ifndef __febird_bdb_kmapdset_h__ #define __febird_bdb_kmapdset_h__ #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pra

2008-11-07 18:29:00 1926

持久化的多键映射,使用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

原创 持久化的 map ,使用 BerkeleyDB

使用前面介绍的序列化框架,可以非常简单地将Bekeley DB作为存储层,实现一个易于使用的,强类型的,持久化的map。 这个设计的的基本原则就是:模板作为一个薄的、类型安全的包装层,实现层的代码可以多个模板实例来公用,这样不但加快了编译时间,也减小了生成的代码尺寸。这个实现相当于std::map,但接口上也不完全相同,主要是基于易实现和性能考虑。下一篇介绍std::map >的B

2008-11-07 18:14:00 4076 1

持久化的 map ,使用 BerkeleyDB

项目地址:http://code.google.com/p/febird 使用前面介绍的序列化框架,可以非常简单地将Bekeley DB作为存储层,实现一个易于使用的,强类型的,持久化的map。 这个设计的的基本原则就是:模板作为一个薄的、类型安全的包装层,实现层的代码可以多个模板实例来公用,这样不但加快了编译时间,也减小了生成的代码尺寸。这个实现相当于std::map<...

2008-11-07 18:14:00 375

原创 最便捷、最强大、速度最快的C++序列化框架

项目地址:http://code.google.com/p/febird最便捷、最强大、速度最快的C++序列化框架。 特别注意:vc6太古老,不符合C++规范,无法使用该框架1.        高性能,速度非常快,比你能找到的同类产品至少快一个数量级2.        在网络通讯,数据库存储中非常好用。3.        预先支持所有基本类型,所有stl容器类型(除stac

2008-11-07 18:08:00 17002 10

最便捷、最强大、速度最快的C++序列化框架

最便捷、最强大、速度最快的C++序列化框架。 特别注意:vc6太古老,不符合C++规范,无法使用该框架 1.         高性能,速度非常快,比你能找到的同类产品至少快一个数量级2.      &am

2008-11-07 18:08:00 321

C++ Best Practice (高阶教程)

你所不知道的C++,临时变量、重载、模板、异常……等等你所不知道的细节

2013-02-25

有穷自动机的原理及应用

有穷自动机,自动机最小化,串匹配,压缩,性能

2013-02-22

对称冗余集群架构

对称冗余集群架构 容错 Memcached

2011-10-18

Text Clustering

2007年的一个项目,对文章进行聚类分析,近千万篇文章,4核4G 的低端服务器即可有效处理并提供在线服务

2011-10-18

HadoopStreaming

写的一个 Hadoop Streaming 教程

2011-10-18

MapReduce应用

2009年写的,刚才看最后修改日期是2009年11月

2011-10-18

Hadoop.MapReduce.分析

2009年7月份写的一篇 Hadoop.MapReduce 介绍

2011-10-18

febird C++ 库(附带所有源码)

febird implemented a serialization framework(vs boost.serialization/google.protocolbuffer), can be used in protocol parsing, big/small data serialization, even in very small object serialize, performance is good. (such as key/data serialization in BerkeleyDB), it provide fast performance(30~80 times faster than boost.binary_archive), and lower memory usage. febird.rpc is a C++ remote procedure call without an IDL supporting, it based on the serialization framework. febird.rpc provide convenient usage and fast performance, and an uniform coding style. febird 实现了一个序列化框架(对比boost.serializaiton/google.protocolbuffer),可以用在协议解析,大/小数据的序列化,有极高的性能(比boost.binary_archive快30~80倍),甚至对于非常小的对象,例如只有几个字节的对象,这在序列化BerkeleyDB中key/data这么小的对象(可能只是一个整数/变长整数)时非常有用。 该库提供了对BerkeleyDB的序列化封装,可以象使用std::map一样使用它。 该库也实现了一个不需要IDL的rpc,使用几个宏,很方便的自动完成函数参数的序列化,比MFC的MessageMap?还要方便。 使用时请checkout最新版,下载的那个版本比较旧了 @see http://blog.csdn.net/whinah http://blog.csdn.net/whinah/archive/2008/11/07/3248730.aspx http://blog.csdn.net/whinah/archive/2008/11/07/3248770.aspx

2009-04-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除