whinah的专栏

最近的文章 · · · · · ·

MapReduce做了多余的事情

2009-10-27 07:25:00 查看原文
MapReduce做了多余的事情 本文假定读者已了解MapReduce。Map Map阶段一般做三件事情: 1.         切分输入 2.         变换输入为输出 3.     ...

MapReduce Key Revert ——特定数据模式的负载均衡

2009-10-27 03:45:00 查看原文
符号、记法 其中{k,v}指一个Key,Value对,{..} 中第一个分量是Key,第二个是Value。 [e]指一个集合,其中的元素为e。 [{k,v}]就指一个{k,v}的集合。问题 给定巨大的集合S=[{k1,k2}],对S中每个k1,计算k1相同,而k2不...

memory pool 的高效实现(代码)

2009-10-22 19:01:00 查看原文
代码

memory pool 的高效实现

2009-10-22 18:40:00 查看原文
memory pool malloc可以分配任意大小的内存,因此,在malloc内部,保存了一些簿记信息(至少有一个包含内存块尺寸的信息)。调用free时,可以正确释放。 为了减少这些簿记开销,可以使用memory pool。 根据使用情境,可...

世界上应用最广泛的虚拟机是啥?

2009-10-18 08:19:00 查看原文
别说是JavaVM! 正确答案:x86vm x86本身是一个硬件vm,它的指令系统是一个vm指令系统,通过翻译层后,才交给下面的risk内核。

malloc/free 的开销,如何去掉这种开销?

2009-10-18 07:58:00 查看原文
一般的malloc实现,对一块已分配的内存,都有两个机器字的簿记,甚至更多。如果不需要排错,理论上讲,只需要一个字长的额外开销,用来记录这块内存的尺寸(放在intptr[-1]处是个好主意)。 为什么需要这个开销呢?因为free...

可变长度数据结构

2009-09-27 09:12:00 查看原文
固定长度的数据结构很简单,大家每天都在用。可变长度数据结构,都可以通过内嵌对象的形式,转化成固定长度的数据结构,大家每天也都在用,例如:struct person{ int id; string name; string address;};每个 person 对象的长...

管道的境界

2009-07-28 12:15:00 查看原文
一直在想:如何在 Hadoop.MapReduce 中,插入一个 C 写的 HashFunction,既要高效,又要接口简洁。通过命令行实现调用显然是不行的。刚刚终于想出了:使用管道! 一个非常简单的程序,从stdin读入,写到stdout。多简单!至于...

fuck淘宝,fuck原叶绿茶

2009-07-13 14:19:00 查看原文
昨天,渴了,买了瓶原叶绿茶,准备扣上盖子扔瓶子时,发现上面说: N2KOKC5ND9L 十元淘宝券 兑奖09/11/30止口 跑到淘宝上看,找不着哪兑奖,后来终于发现: http://pro.taobao.com/yuanye/yuanye_index.htm 输入号码,...

很基本也很诡异的fread

2009-07-03 10:12:00 查看原文
先看一段非常简单的程序:#include int main(int argc, char** argv) { char buf[8193]; FILE* fp = fopen("tmp.bin", "wb+"); fwrite(buf, 1, 8192, fp); fseek(fp, 0, 0); fread(buf, 1, 8193, fp); /* here, all are ok, fe...