- 博客(12)
- 资源 (3)
- 收藏
- 关注
原创 Sem和条件变量的区别
Counting semaphores are often used to keep track of changes in the state of objects shared by multiple threads in a process. For instance, they can record the occurrence of a particular event. Unlike
2009-04-27 22:02:00 955 1
原创 能再变态点么?
一个700M的数据集文件包含了1,175,646条数据,其中1,175,645条数据的长度要么是0,要么是32,而居然在中间夹杂了一条,它的长度是30! 长度为0或32是通过观察得到的结论,30是完全未曾预料的,naturally,我的代码core掉了……为了定位这一条数据,我采用二分法一点点切文件,然后对切割所得的文件进行检查,step by step, 最后定位到出错的位置:3
2009-04-21 21:40:00 834
原创 关于pthread见过的最好的一篇文章
http://d.scribd.com/docs/17r1213utzvbk2aq4gwz.pdf 哪天我能把文章写得这样明白如话呢?值得学习下。
2009-04-21 21:39:00 1261 1
原创 在关键路径上,编码需谨慎
将大小为1G的src缓冲区中的数据复制到dst缓冲区中,并且跳过所有空格。下面两种循环风格,哪一种你更喜欢?哪种效率更高呢?Try it~-----------------------------------在关键数据路径上,如果需要对每一字节都进行检查,那么使用的检查方法需要格外谨慎。在上例中,I直接检查src[i]是否为空格,II采用了isspace函数来
2009-04-21 21:38:00 822 1
转载 spurious wakeups
An added benefit of allowing spurious wakeups is that applications are forced to code a predicate-testing-loop around the condition wait. This also makes the application tolerate superfluous
2009-04-21 21:36:00 857
原创 与64位机的第一次亲密接触
今天阳光明媚,我与64位有个约会。 约会内容如下: 首先,main中创建producer和consumer两个线程,然后等待两个线程执行完毕。理论上讲,屏幕上依次会输出Point 1Point 2Point 3 Unfortunately,代码在打印出Point 2后Segment Fault Core掉了,我将两个pthraed_join()交换位
2009-04-21 21:36:00 1163
原创 统计规律与数据编码
问题引入:有100万个字符串,他们长度各异,分布在[1,256]这个区间内。请设计一种方法来依次记录这些字符串的长度。要求:用尽可能少的空间来存储这些长度。例子:例如有下面四个串:hello (5)abc (3)abcd (4)good morning (12)可以用2字节来编码他们的长度:5、3编码到第一个字节,4、12编码到第二个字节,最
2009-04-21 21:33:00 1693
转载 "Worse is better" -- Unix哲学之一
本段文字介绍了Unix哲学之一:Worse is Better,同时本文还解释了为什么Unix阻塞系统调用可能会返回EINTR错误。 Richard P. Gabriel suggests that a key advantage of Unix was that it embodied a design philosophy he termed "Worse is better". In
2009-04-21 21:28:00 1183
原创 如果pthread_mutex_unlock解锁的mutex未被锁上 及 其它
SYNOPSIS#include int pthread_mutex_unlock(pthread_mutex_t *mutex); DESCRIPTIONThe pthread_mutex_unlock() function attempts to unlock the specified mutex. If there are threads blocked on t
2009-04-13 22:51:00 9401
原创 善待内存 [下]
其实,是我的错,我真的没有好好对她。我错了……我真的错了………… 关于《请善待她》,请猛点进入。它描述了我在coding过程中发现的一个现象:当malloc的内存总量大于可用空闲物理内存的时候,会出现与磁盘之间的换页,严重影响性能。于是我怀疑Linux的内存分配机制出了问题[见下图],并给出了一套解决方案。详见全文。+---------------------------------
2009-04-04 10:11:00 1079 1
原创 善待内存
背景介绍现在有35块内存,每块200M,均采用malloc分配。在使用中,他们都被填入了10M~100M不等的数据,余下部分空闲。然后我们将这35块内存中的有数据部分复制到一块1G的大内存中(已知有效数据总和不超过1G)。 伪代码如下 #define MAX_PER_BLOCK_MEM_SIZE (1024*1024*200)#define MAX_TOT
2009-04-04 10:10:00 1155 4
同义词词林(扩展版)
2010-05-18
FASS简介-抗锯齿原理
2009-01-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人