我必须在 8 秒内检测可播放媒体(音频、视频和图像)在 30,000 个文件的 16GB 笔式驱动器上是否已更改,以便后续插入。不考虑其他文件,例如 pdf 或纯文本;这是一个媒体播放器软件。
我试过 ls -l
和 md5
但它花了我 10-11 秒。有没有人以前解决过这个问题,或者你可以提出什么策略?
内容可能发生变化的情况是用户可能会弹出笔式驱动器,向其中添加更多歌曲,然后重新插入同一个笔式驱动器。如果没有内容更改,那么我可以使用旧数据库,从而节省播放时间。
我不能依赖时间戳,因为在 Windows 系统上重命名文件不会改变修改时间。
最佳答案
只需检查文件大小而不是 md5 总和。这应该更快,资源密集度更低。