摘要:
贝叶斯公式是一个很好的工具。理解贝叶斯需要复习一下条件概率:P(A|B)叫做B发生的条件下,A发生的概率。P(AB)叫做AB同时发生的概率。P(A|B) = P(AB)/P(B) 阅读全文
摘要:
方向导数定理。偏微分点乘方向单位向量 梯度最大的方向导数,标量场中某一点上梯度指向标量场中增长最快的方向。梯度的长度是这个导数值。 条件极值。对自变量有附加条件的极值。 e.g.:表面积为S的体积最大的长方体max(xyz)|2(xy+yz+xz)=s 转化无条件极值,利用拉格朗日乘数法 要找z=f(x,y)在条件p(x,y)下的可能极值点 1.构造F(x,y) = f(x,y)+a·p... 阅读全文
摘要:
举个例子 现在你写好了一个牛逼的cache服务,但是这个是单机版本。给你十台机器,让你做均衡。 你可能会想到 hash(request)%N来决定分到哪个机器。 理论知识 一致性:我又把它叫做可加性,就是你的哈希算法得能允许这样的情况。为了扩容我加了一个cache机器进来,你得让原来哈希到老机器上的流量能够分流到新机器上来 平衡性:算法得让流量尽可能的分到各个cache上 为了解决什么问... 阅读全文
摘要:
理论: 一个程序90%时间运行在10% 的代码上 时间局部性原理 近期被引用过的内存,未来会被多次引用 空间局部性原理 存储器附近的内容被访问,未来附近很可能也会被访问 考虑因素,其实都是为了用更少的内存缓存更多的结果更快的取到 时间效率 空间利用率 命中率 实现难易 这么几种策略 随机替换,达到替换条件的时候生成随机数 FIFO,先进先出策略,不符合局部性原理 LRU,最近最常访问元素提前,... 阅读全文
摘要:
关键数据结构 /* 主哈希表 */
static item** primary_hashtable = 0; /* 哈希表扩容的前期表,存储还没来得及移动到主哈希表的key */
static item** old_hashtable = 0; /* 哈希表中的item数 */
static int hash_items = 0; /* Flag: Are we in the middl... 阅读全文
摘要:
每个thread一个连接队列,conn很庞大,你可以理解它囊括了连接包含的所有信息,小宇宙。typedef struct { pthread_t thread_id; /* unique ID of this thread */ struct event_base *base; /* libeven... 阅读全文
摘要:
slabclass是slabclass_t数组,索引有size决定。slabclass数组中slabclass_t的size按照1.25倍依次增大,当然这个是可配的,具体这个该搞成多少,我也没有做结合业务做过实验。slabclass_t中的size就是当前slab中每个块的大小,乘以perslab一... 阅读全文
摘要:
数据结构介绍item是memcached中存储的最小单元。数据结构的话,我觉得这个代码一贴,一目了然了。typedef struct _stritem { struct _stritem *next; struct _stritem *prev; struct _stritem *... 阅读全文
摘要:
Arrays of Length Zero这样说:Zero-length arrays are allowed in GNU C. They are very useful as the last element of a structure that is really a header for ... 阅读全文
摘要:
夜深,人静,独坐,此时,让人不经意陷入思考。清凉,宁静,放空,今夜,给我一片珍贵的安静。该思考些什么,好对得起这宁静的夜。就像每一个奋斗的人一样,始终进步是我一贯的要求。我时常鞭策自己,做到心中的优秀真的很难,因此让自己青春无悔需要我努力奋斗。我可爱的亲人,带着你们的爱,化做我无穷的力量,我不知将去... 阅读全文