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 的高效实现(代码)
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...