|
发表于 2007-12-25 14:54:40
|
显示全部楼层
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int mk5dirs(int level)
{
int i = 1;
char buffer[4];
if (level == 0)
return;
for (i=1; i<=5; i++)
{
sprintf(buffer,"%d",i);
mkdir(buffer);
chdir(buffer);
mk5dirs(level-1);
chdir("..");
}
}
int main(int argc, char *argv[])
{
int level;
if (argc < 2)
level = 5; //default level
else
level = atoi(argv[1]);
mk5dirs(level);
return ;
}
我用上面的代码,建立7级目录,用了35秒(P4 2.4, 512M,linux ext3)
企图建立10级目录,可是时间太长,等不下去中断了,
理论上用时间应该是35 * 5^3 = 4375秒,实际上更长
删除7级目录用了2分40秒(160秒)
10级目录理论上是2000秒,大概要5、6个小时
如果在最底层目录加入10K~1m的文件,那更恐怖了,估计测试得1~2天,没耐心的人测试不了。
10级目录,每级5个目录,需要建立5^10-1个目录,大概1000万个目录。 |
|