08 2012 档案
摘要:网络游戏的数据变动比较频繁,如果每次数据变动都刷往后端数据库,会导致数据库不负重荷。在游戏逻辑和数据库间提供一层缓冲服务,有利于减轻这重压力.首先,网络游戏的数据在数据库中是以表的形式保存的,每个玩家的数据占用其中的一行或几行.以玩家基本属性为例:基本表: chainfo表结构:chaid,chaname,hp,mp,maxhp,maxmp ...为此,内存数据库将建立针对行集和行数据的抽象。为了提高查询的效率,在内存中建立一个大的hash-table,hash-table中只支持两种数据结构:变长的list和定长的array.list用以表示集,array表示数据行.根据建立的逻辑索引,数据
阅读全文
摘要:前段时间实现的C协程依赖栈传递参数,在开启优化时会导致错误,于是实现了一个ucontext的版本,但ucontext的切换效率太差了,在我的机器上执行4000W次切换需要11秒左右,这达不到我的要求,所以重新设计了实现,使得在开启优化时也能得到正确的结果.并且效率也令人满意,4000W次切换仅需要730ms左右,足足比ucontext的实现快乐近15倍。下面贴出实现:#include "uthread.h"#include <stdlib.h>#include <ucontext.h>#include <pthread.h>#includ
阅读全文

浙公网安备 33010602011771号