BT和硬盘

shusheng

CFC 分析员
VIP
注册
2003-07-10
消息
9,868
荣誉分数
440
声望点数
193
BT在开始下载之前,要预先分配文件。听着硬盘
浅唱低回,实在是不爽。昨天有空,把BT看了一
下,OMG,这是这位老大在分配文件时干的。
(原程序是Python,大致翻成C,容易懂一点)

char ch = 0;
for (i = 0; i < file_length; i++)
{
lseek(fd, i, SEEK_SET);
write(fd, &ch, 1);
}

如果当6G的文件,这位老大要一个字符一个字符
的写啊!

把那段改成一个 truncate(file, file_length);
现在BT要走得好多了。

有兴趣的朋友可以去BT的那个Storage.py里看一下。
或者我的BT太旧,新的已经改过了也可能。
 
那OS level的 disk cache都干啥了?
 
后退
顶部