我在许多文件夹中有很多小(10KB - 1MB)文件(大约10M),这样的结构:
- LEVEL 1
- LEVEL 2
- LEVEL 3
- file 1;
- file 2;
...
(文件存储在 USB3.0 1TB 磁盘上。文件总大小约 700MB)
和文件哈希在同一磁盘(Microsoft Access 2007)上的数据库:
file 1 - hash 1;
file 2 - hash 2;
....
每天我都需要计算每个文件的哈希值并获取已更改文件的列表(如果存在)。
如何编写适当的算法以最小化脚本工作时间?我猜有几个瓶颈:
- 磁盘 I/O - 如何优化磁盘读取?
- 数据库读取问题 - Access 如何处理 10M 行表?
- CPU - 我需要并行化哈希计算吗?
- 我更喜欢 C#,但也许我需要另一种语言?
- 计算dir的哈希而不是文件更有效吗?
还要别的吗?