优化文件夹中文件重新分区的良好做法

时间:2016-01-06 14:41:31

标签: c++ optimization filesystems modulus

我有一些带有编号的文件作为名称,我希望以优化的方式放入文件夹中,例如每个文件夹的文件大小相同等。

在数字模数之后选择文件夹是否是一个好习惯?模数和分割一样昂贵吗?需要多少指令?

更确切地说,我想使用估计文件数的平方根的模数。

Number of files > 5'000'000

1 个答案:

答案 0 :(得分:1)

您可以使用您喜欢的任何散列解决方案,遵循通常的约束条件,其中最重要的是所有散列值都具有相同的可能性。如果文件按顺序编号,则模数可能完全正常。

即使您使用加密哈希(不推荐),与文件系统创建文件所需的操作相比,成本也是微不足道的。模数很好。

但您可能还想考虑人类用户。他们(你)将如何找到一个文件?按范围划分更容易管理。然后,您可以在范围的开头命名每个目录,找到正确的目录是一项简单的任务。

当你使用数字作为文件名时,你会在某些时候希望你将它们全部填充到相同的长度,以便字母顺序和数字顺序相同。我强烈建议你从一开始就做到这一点。注意到问题的最常见时刻是需要批量检索备份时。